Quick Start
Install ArmorCodex and see it enforce Codex tool calls in under 2 minutes
Quick Start
Get ArmorCodex running in under 2 minutes. No account required for local-only mode.
Prerequisites
- Codex CLI 0.125+ (or Codex Desktop)
- Node.js 20+
- Git
- macOS, Linux, or Windows (WSL / Git Bash)
Install
curl -fsSL https://armoriq.ai/install_armorcodex.sh | bashcurl -fsSL https://armoriq.ai/install_armorcodex.sh | bashRun from WSL or Git Bash, not PowerShell/CMD.
The installer handles everything: clones the plugin, wires the MCP server and hooks into ~/.codex/config.toml and ~/.codex/hooks.json, registers the marketplace, installs the ArmorIQ CLI, and optionally connects your ArmorIQ account.
When prompted "Connect your ArmorIQ account now?" press Y to authenticate via browser, or N to use local-only mode. You can run armoriq login --product armorcodex anytime later.
Manual marketplace registration (without the curl script):
codex plugin marketplace add armoriq/armorCodexSelf-serve plugin install via CLI is not yet exposed by Codex, so the installer wires [mcp_servers.armorcodex-policy] and ~/.codex/hooks.json directly. When OpenAI ships codex plugin install, the manifest under plugins/armorcodex/.codex-plugin/plugin.json is already spec-compliant and will be picked up automatically.
Verify Installation
After the installer finishes, verify the wiring:
grep -A 4 "armorcodex-policy" ~/.codex/config.toml
ls ~/.codex/hooks.jsonYou should see the [mcp_servers.armorcodex-policy] block and the hooks file present.
If you connected your ArmorIQ account during install, verify the login:
armoriq whoamiYou should see:
ArmorIQ Credentials
Email: you@company.com
API Key: ak_live_xxxxxxxx...
User ID: ...
Org ID: ...
File: ~/.armoriq/credentials.jsonIf you skipped the login, you can connect anytime:
armoriq login --product armorcodexThis opens your browser. The approval page renders ArmorCodex-branded heading and tagline, you click Authorize, and the key is saved automatically. ArmorCodex picks it up on the next Codex session.
Try It
Open a Codex session in any project:
mkdir -p /tmp/demo && cd /tmp/demo
echo "# My Project" > README.md
codexPrompt:
ls and show me the files in this directory.What happens:
- Codex calls
register_intent_plandeclaring it will run aBashstep - ArmorCodex stores the plan
- Codex runs
ls. ArmorCodex's PreToolUse hook checks it against the plan and allows it - Codex returns the file listing
You will see in the transcript:
register_intent_plan: Intent registered: 1 step.
ls README.mdBlock Something
Set a policy rule from the chat prompt:
Block any Bash command containing curl.ArmorCodex confirms with a policy update message ("Policy updated. Version 1").
Now try:
Run curl https://example.com and show me the output.Result:
ArmorCodex policy denied: rule deny-bash-curl matched anyParam.$contains "curl"The Bash call is blocked before execution. Codex sees the denial and tells the user.
To remove the rule:
Clear all ArmorCodex policy rules.What You Just Saw
| Feature | What happened |
|---|---|
| Intent plan | Codex declared Bash before using it |
| Plan enforcement | Bash ls was in the plan, so it was allowed |
| Policy rule | deny curl blocked the curl command |
| Policy management | Rules created and cleared from the chat prompt |
Next Steps
- Policy Rules commands, data classification, evaluation order
- Plan Mode Codex's plan/approval flow and how ArmorCodex consumes it
- Authentication connect to ArmorIQ for audit logs and signed tokens
- Concepts how intent enforcement works under the hood