writ configure
Create or edit the engagement configuration.
writ configureThe command asks a question for each value, and then writes
~/.writ/config.yaml. The command shows the current value in brackets. To
keep the current value, press Return.
Read Set up managed runs for the meaning of each value.
The command writes assent.transport: [cli] when the list is empty. CLI is
the only supported assent transport. Web assent is not implemented.
Each flag sets one value without a question.
| Flag | Purpose |
|---|---|
--config <path> |
Use the configuration at this path. |
--holder-provider <name> |
The wire protocol of the holder: anthropic or openai. |
--holder-model <name> |
The model of the holder. |
--holder-key-env <name> |
The environment variable that holds the API key of the holder. |
--holder-base-url <url> |
An alternative endpoint for the holder. |
--holder-input-price <amount> |
The price of one million input tokens, such as $3.00. |
--holder-output-price <amount> |
The price of one million output tokens, such as $15.00. |
--judge-provider <name> |
The wire protocol of the judge. |
--judge-model <name> |
The model of the judge. |
--judge-key-env <name> |
The environment variable that holds the API key of the judge. |
--judge-base-url <url> |
An alternative endpoint for the judge. |
--judge-input-price <amount> |
The price of one million input tokens for the judge. |
--judge-output-price <amount> |
The price of one million output tokens for the judge. |
--judge-budget-share <percentage> |
The part of the cost bound that the judge can spend, such as 10%. |
--sandbox <engine> |
The sandbox engine: docker, podman, or none. |
--sandbox-image <image> |
The container image that shell commands run in. |
Set the values without questions
Section titled “Set the values without questions”writ configure \ --holder-provider anthropic \ --holder-model claude-opus-5 \ --holder-key-env ANTHROPIC_API_KEY \ --holder-input-price '$3.00' \ --holder-output-price '$15.00' \ --sandbox docker \ --sandbox-image python:3.12Put a dollar amount in single quotation marks, because a shell expands $.
Add a judge
Section titled “Add a judge”A judge is necessary for each judgment clause.
writ configure \ --judge-provider anthropic \ --judge-model claude-sonnet-5 \ --judge-key-env ANTHROPIC_API_KEY \ --judge-input-price '$1.00' \ --judge-output-price '$5.00' \ --judge-budget-share 10%The budget share must be a whole percentage between 1% and 99%.
To remove the judge, run writ configure and give an empty judge model.
Use a different configuration file
Section titled “Use a different configuration file”writ configure --config ./ci-config.yamlwrit issue bug-fixer.yaml --config ./ci-config.yamlA separate file is useful for continuous integration, where the model, the prices, and the sandbox are different.
Exit codes
Section titled “Exit codes”| Code | Meaning |
|---|---|
| 0 | The command wrote the configuration. |
| 3 | A value is wrong, or Writ cannot write the file. |