Esc

    Rexa supports five agent CLIs through bundled adapters. Install the CLIs yourself; Rexa does not ship them.

    Agent Command
    Claude Code claude
    Codex codex
    Cursor Agent cursor-agent
    OpenCode opencode
    Pi pi

    What each agent supports

    Claude Code Codex Cursor Agent OpenCode Pi
    Live card ✓ ✓ ✓ ✓ ✓
    “Your turn” status ✓ ✓ — ✓ —
    Interrupted status ✓ ✓ ✓ ✓ ✓
    Session history ✓ ✓ ✓ ✓ ✓
    Transcript ✓ ✓ Partial Partial ✓
    Subagent transcripts ✓ — — — —
    Skill and plugin toggles ✓ ✓ — — —
    Plan usage in status bar ✓ ✓ — — —
    • Cursor Agent fires no hook for approval prompts, so its card shows Working while it waits on you. Its transcripts have no tool results, and chats started in a subfolder have none.
    • OpenCode transcripts have no per-turn timing or token use.
    • Pi reports state from its session file only, with no “Your turn” status.
    • Codex lists the newest 100 sessions per worktree.

    Files Rexa writes

    Each adapter installs hooks, session context and skill links into its agent’s own config. This runs every time Rexa starts. Hook entries Rexa adds end in # rexa-hook <id>; entries from other tools are kept.

    Agent Writes
    Claude Code Hooks in ~/.claude/settings.json; a link at ~/.claude/skills/rexa
    Codex Hooks in ~/.codex/hooks.json; notify in ~/.codex/config.toml if unset; links in ~/.codex/skills/
    Cursor Agent Hooks in ~/.cursor/hooks.json; links in ~/.cursor/skills/
    OpenCode A plugin link at ~/.config/opencode/plugins/rexa; links in ~/.config/opencode/skills/. Only if ~/.config/opencode exists.
    Pi ~/.pi/agent/extensions/rexa.ts; links in ~/.pi/agent/skills/. Only if ~/.pi/agent exists.

    The hooks call rexa post <agent> to report state, and rexa context to tell the agent it runs inside Rexa. Outside a Rexa terminal, both do nothing.

    Check, repair or remove

    Terminal
    rexa claude setup --check    # report; exit code 1 if something needs fixing
    rexa claude setup            # install or repair
    rexa claude setup --remove   # remove everything Rexa wrote

    Replace claude with codex, cursor, opencode or pi. Rexa reinstalls on the next launch, so to keep an adapter off, disable it too:

    Terminal
    rexa extension disable rexa-claude-adapter

    Adapter ids follow the pattern rexa-<agent>-adapter; rexa extension ls lists them.

    Known limits

    • Codex asks you to trust new hooks in its startup review. Rexa’s hooks do nothing until you trust them.
    • Codex always uses ~/.codex; a custom CODEX_HOME is not followed.
    • Cursor Agent sessions resumed with --resume get no Rexa session context.
    • OpenCode always uses ~/.config/opencode; XDG overrides are not followed.