Yuj documentation

Yuj lets a coding model read, change, and test a Git repository while it manages the model’s tools, shell access, context, and saved session.

The yuj command starts and controls coding sessions. A coding session is one saved task record. It can continue after a resume.

A Yuj quirk is a TOML rule that users can read, share, and measure.

Start here

You want to Start here
Use Yuj for a coding task Getting started
Reproduce a released paper comparison Measurements, then the paper configuration guide
Run your own comparison or extend a model, language, or tool Extend Yuj with TOML files

Find a topic

You want to Read
Find an installed yuj command or option CLI reference
Install Bash, Zsh, or Fish completion CLI reference
Create a redacted local support report CLI reference
Attach a GitHub issue or pull request CLI reference
Sign in to Claude or Codex Getting started
Attach images to a new or resumed task CLI reference
Answer a model clarification question CLI reference
Correct a stopped session before resume CLI reference
Inspect token, cache, cost, or quota evidence CLI reference
Label, fork, archive, restore, or purge a saved session CLI reference
Review a working tree, commit, or retained session CLI reference
Inspect or safely edit one saved setting Configuration
Choose a fixed assistant permission preset Configuration
Format supported files after model edits Configuration
See what tools the model can use Model tools
Start a local model server Run a local model
Understand the default and plain settings Treatment
Inspect or change a model, time limit, or context mode Configuration
Add a model, profile, rule, or named agent Extend Yuj with TOML files
Add trusted Python at the compaction boundary Compaction hooks
Choose bwrap, Docker, Podman, automatic selection, or no sandbox Sandbox
Understand the files that Yuj saves Saved files
Measure exact command, output, and context changes Transformation and savings accounting
Run a fixed comparison Measurements
Run recorded actions again Replay
Read the experiment and results Paper and results

First commands

Install Yuj and connect a model first. Activate the environment where you installed Yuj, or replace yuj below with that environment’s bin/yuj path.

Move to the Git repository that the model may edit:

cd /path/to/your-project
yuj config
yuj doctor
yuj smoke
yuj init -C /path/to/your-project --output AGENTS.md
yuj
yuj status
yuj show
yuj usage

Enter the coding task when Yuj prompts you. You can also pass the task after yuj on the same command line.

Use yuj approve or yuj reject when a tool action needs your choice. If the model asks a clarification question, run the exact yuj answer command shown by yuj status. Run yuj correct SESSION "CORRECTION" to add one exact user message before you resume a stopped session. Run yuj resume after you approve, reject, answer, correct, or stop a session.

The CLI reference covers every command and option, including provider sign-in, session selection, and exit statuses.

What the study compares

Normal yuj sessions use the treatment base. Add --no-treatment to select the plain base.

A complete paper comparison also fixes the model, input limit, runtime settings, and detector limits. The paper compares each complete treatment setting with its complete control setting. It does not test one treatment rule at a time.

Read the experiment contract for the study design. Read the paper configuration guide for the exact setting order.

The repository README gives the shortest path from a new clone to a first task.