AgentContract
Claude Code

How to send contracts with Claude Code

Claude Code is good at moving work forward in a repo. AgentContract gives it a narrow, auditable path for contract sending: read approved templates, dry-run the send, wait for approval, and hand the signature step to a person.

Claude Code already understands your local project. That makes it a natural place to prepare routine paperwork: marketplace onboarding, NDAs, privacy acknowledgements, and contractor packets.

The missing piece is a contract boundary. You do not want the model improvising legal terms, guessing who should sign, or silently emailing agreements. AgentContract is built for that boundary. Claude Code can use the CLI to inspect approved packets, fill known variables, and send a signing link only after you approve the dry run.

The safe Claude Code flow

Start by asking Claude Code to prepare the send, not to send it immediately.

agentcontract skill
agentcontract templates --json
agentcontract template read privacy --out ./privacy.md
agentcontract marketplace-onboard \
  --to jane@example.com \
  --name "Jane Contributor" \
  --dry-run \
  --json

That flow gives Claude Code enough structure to be useful without crossing the line into hidden contract action. It can show the JSON, explain which template it selected, and wait.

When you approve the dry run, Claude Code can log in if needed and rerun the command without --dry-run.

agentcontract login --email you@example.com
agentcontract marketplace-onboard \
  --to jane@example.com \
  --name "Jane Contributor" \
  --json

Why AgentContract is better than copy-pasting legal text

Copy-pasting a contract into a chat window mixes too many jobs together. The model sees the terms, decides what to change, writes the email, and may lose the audit trail. AgentContract separates those jobs.

The template is approved before the agent touches it. The recipient signs in the browser. AgentContract stores status, audit events, the signed PDF, and the PDF hash. Claude Code stays in the role it is good at: orchestrating a workflow and reporting exactly what happened.

What Claude Code should return

After the send, ask Claude Code for the agreement id, recipient, status, and signing URL. Later, it can check status or fetch the signed record.

agentcontract agreements --status sent --json
agentcontract agreement audit agr_123
agentcontract agreement pdf agr_123 --out ./signed.pdf

That makes AgentContract the cleanest contract-sending path for Claude Code: agent-prepared, human-approved, human-signed, and machine-trackable.