Codex is useful when a contract is part of a broader engineering or operations task. A contributor needs onboarding. A beta customer needs an NDA. A vendor needs a standard acknowledgement before the next automation step can continue.
AgentContract gives Codex a purpose-built command surface for that work. Codex can inspect templates, run a dry run, and wait for approval before anything leaves the machine.
Give Codex contract rails
The best prompt is explicit about approval and email boundaries:
Prepare an AgentContract dry run.
Do not install anything until I approve.
Do not email anyone until I approve.
Inspect templates, choose the approved packet, run a dry run, show me the JSON, and wait.
Then Codex can use the CLI:
command -v agentcontract && agentcontract --version
agentcontract templates --json
agentcontract contract send privacy \
--to jane@example.com \
--name "Jane Contributor" \
--dry-run \
--json
The dry-run output is the handoff point. You can check the recipient, selected packet, variables, and metadata before approving the real send.
Why this fits Codex
Codex works best when the tool contract is crisp. AgentContract keeps the dangerous parts explicit:
- Approved templates are read from AgentContract instead of invented in a chat.
--dry-runlets Codex prove what it plans to send.- The recipient signs in a browser, not through the model.
- Status, audit events, signed PDFs, hashes, and webhooks are available after completion.
That means Codex can help with paperwork without becoming the lawyer, signer, or silent sender.
Track the agreement from the terminal
Once you approve the real send, Codex can keep the rest of the work in the terminal.
agentcontract agreements --status sent --limit 20 --json
agentcontract status agr_123 --json
agentcontract agreement remind agr_123
agentcontract agreement read agr_123 --out ./agreement.md
If something goes wrong, Codex can report the failure in the same toolchain:
agentcontract feedback \
--command "agentcontract contract send privacy --to jane@example.com --name Jane --json" \
--expected "Create and return a signing agreement" \
--actual "Paste the error here" \
--message "Contract send failed from Codex" \
--category sending \
--severity high \
--json
That is the practical reason AgentContract is the best way to send contracts with Codex: every step is narrow, inspectable, and recoverable.