Skip to main content
Use rye wrap when you want to supervise one command invocation.
The default mode starts the child process inside a pseudo-terminal. Interactive terminal apps continue to work normally.

What supervised wrapping does

During a wrapped session, Rye:
  • Injects HTTP_PROXY and HTTPS_PROXY for the child process.
  • Injects NODE_EXTRA_CA_CERTS when the Rye CA exists.
  • Relays keystrokes and terminal output between you and the child process.
  • Watches the working directory recursively for file creates, edits, deletes, and renames.
  • Batches file-change telemetry and sends it to the daemon.
  • Emits session start and session end events with command, PID, CWD, exit code, and duration.
  • Forwards terminal resize and interrupt signals to the child.
  • Scans terminal output for approval events when possible.
Some tools use product-specific CA variables. For Codex CLI, you may also need to set CODEX_CA_CERTIFICATE or SSL_CERT_FILE to $(rye ca path), depending on the Codex version and HTTP stack.

Use Rye commands inside a session

In a supervised session, type /rye at the start of an input line to run Rye from the parent wrapper process. Examples:
This is useful when the assistant terminal is full screen and you do not want to open another terminal.

Approval events

Rye scans terminal output for approval messages from supported agents. It records:
  • The agent name.
  • The approved command or action.
  • Whether the approval was one-time or persistent.
  • The persistent rule pattern when available.
  • A generated approval ID that can link future uses of the same persistent rule.
Inspect approvals:

Legacy wrap modes

Use these only when you need a simpler process model:

When to use app shims

Use rye wrap for explicit one-off sessions. Use app shims when you want every claude or codex command to run through Rye automatically.