org-formation-cli
org-formation-cli is an Infrastructure-as-Code tool for managing AWS Organizations, accounts, organizational units, and service control policies via declarative YAML templates. It also enables cross-account CloudFormation deployments and automated account provisioning workflows.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | org-formation/org-formation-cli |
| Owner | org-formation |
| Primary language | TypeScript |
| License | MIT — OSI-approved |
| Stars | 1.5k |
| Forks | 135 |
| Open issues | 99 |
| Latest release | v1.0.14 (2024-04-09) |
| Last updated | 2026-01-19 |
| Source | https://github.com/org-formation/org-formation-cli |
What org-formation-cli is
TypeScript-based CLI that extends CloudFormation with custom resource types (OC::ORG::*) to codify organization structure, applies changes via org-formation init/update/create-change-set commands, and orchestrates multi-account resource provisioning through task files with concurrent execution support.
Get the org-formation-cli source
Clone the repository and explore it locally.
git clone https://github.com/org-formation/org-formation-cli.gitcd org-formation-cli# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires unique email address per AWS account (tool documents workaround using '+' addressing on compatible mail providers).
- High-privilege credentials needed for master account; MFA setup recommended but requires additional IAM role and profile configuration.
- Concurrent execution flags (--max-concurrent-stacks, --max-concurrent-tasks) needed for large orgs to avoid slow operations; logging may become difficult with high parallelism.
- State and change management via org-formation change-set workflow; understand drift detection and reconciliation behavior before deploying.
- Task file orchestration supports sequential and parallel execution; complex multi-stage workflows require careful task dependency and ordering design.
When to avoid it — and what to weigh
- Single-account deployments only — Tool is designed for multi-account organization management; overhead and complexity not justified for simple single-account setups.
- AWS Control Tower as primary tool — If you require Control Tower's enrollment, guardrail automation, and dashboard features, org-formation is complementary but not a replacement.
- Limited AWS Organizations API permissions — Tool requires high-privilege access to master account for organization operations; restrictive IAM policies or lack of root/delegated admin access will block usage.
- Real-time, manual-first operations culture — Tool assumes IaC workflows and version control integration; teams preferring manual console operations or imperative scripts may struggle with adoption.
License & commercial use
MIT License: permissive, OSI-approved open-source license. Allows commercial use, modification, and distribution with proper attribution.
MIT is a permissive OSI license that permits commercial use without restriction. No license-based barriers to using this tool in production or commercial organizations. No indication of proprietary licensing, vendor lock-in, or commercial SaaS offering in the provided data.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
Tool requires master account credentials with high privilege (org-formation needs to create/modify accounts and apply SCPs). Credentials must be managed securely; MFA is recommended and documented. Docker execution can isolate credential handling. No mention of audit logging, compliance drift detection, or secrets management integration. Review SCP syntax carefully for unintended permission restrictions. No data on vulnerability disclosure process or known CVEs.
Alternatives to consider
AWS Control Tower
AWS-native service for governed multi-account setup; provides guardrails, account factory, and compliance dashboard. Lighter lift for AWS-managed organization structure but less flexible for custom policies and existing org migrations.
Terraform + terraform-aws-modules (aws-organization module)
Cloud-agnostic IaC alternative; larger ecosystem and state management. Steeper learning curve and requires separate state backend, but avoids vendor lock-in to AWS Organizations API.
AWS CloudFormation native (no custom types)
Use standard CloudFormation stacks for account-level resources where possible. Limited to IAM roles, SCPs, and org-level resources that have CloudFormation support; does not support cross-account deployment annotations.
Build on org-formation-cli with DEV.co software developers
Start with org-formation init to import your existing organization, then version control and automate multi-account provisioning. Check the docs and Slack community for hands-on support.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
org-formation-cli FAQ
How do I speed up org-formation operations?
Do I need a separate email for each AWS account?
Can I use MFA with org-formation?
Does org-formation replace AWS Control Tower?
Custom software development services
Need help beyond evaluating org-formation-cli? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source devops integrations — and maintain them long-term.
Ready to codify your AWS organization?
Start with org-formation init to import your existing organization, then version control and automate multi-account provisioning. Check the docs and Slack community for hands-on support.