UltraContext CLI
UltraContext collects Claude Code, Codex and OpenClaw sessions in one place so agents can see each other's context.
- 441 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- The daemon reads every agent session and sends its contents to the Context API, including any secrets and private code.
- The Context API key opens access to all stored agent history.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/ultracontextDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The daemon reads every agent session and sends its contents to the Context API, including any secrets and private code.
- The Context API key opens access to all stored agent history.
This is third-party code. Review the repository files before installing.
What it does
The `ultracontext` CLI reads Claude Code, Codex and OpenClaw sessions in the background and stores them in the Context API with versions. A terminal dashboard shows what agents are doing right now. From that store any agent can learn through the MCP server what another one did: what Codex did last, which sessions ran in this project, what a teammate is working on. The MCP server exposes three tools: `list_contexts` with filters by agent, host, project and time, `get_context_messages` and `get_recent_activity`. The Claude Code plugin adds a `/switch codex` command that moves the current Claude Code session into Codex with full history (and back) by converting the session file locally. Developers also get the Context API with JavaScript and Python SDKs.
Who it is for. Developers who work in Claude Code and Codex in parallel and lose context when moving between them.
Good fit when
- A plan Claude Code wrote should be implemented by Codex.
- A Claude Code session must continue in Codex with the full message history.
- You want to ask an agent what the team did in a project over the last day.
- Agent context should be stored with versions and rolled back to an earlier state.
Not a fit when
- Sessions contain secrets that must not go to a cloud store.
- Only one session needs moving: the plugin with `/switch` is enough without the rest of the sync.
- The agent is not Claude Code, Codex or OpenClaw.
Example request
Grab the last plan Claude Code made from UltraContext and implement it in Codex.Limitations
Requires Node.js 22 or newer. The MCP server needs a Context API key in `~/.ultracontext/config.json`, created by the `ultracontext config` wizard. Automatic session capture sends conversation contents to the Context API, so keys, passwords and private code present in sessions end up there too. The plugin install command in the README downloads the repository into a temporary folder and copies a SKILL.md from it, so read what is copied before running. The MCP server itself is started in the docs through `npx tsx` from a repository clone.
How to disable. Stop the daemon with `ultracontext stop`, remove the package with `npm uninstall -g ultracontext` and the ultracontext entry from the MCP configuration. Delete the ~/.ultracontext folder with the key by hand.
FAQ
How do I install UltraContext?
Run `npm install -g ultracontext` and start `ultracontext`. The command launches the daemon and terminal dashboard, and the `ultracontext config` wizard sets up the key.
What does /switch codex do?
It reads the Claude Code session file from disk, converts it to the Codex format, writes it to `~/.codex/sessions/` and opens Codex with the same conversation. No API calls are made; conversion is local.
Which tools does the MCP server provide?
`list_contexts`, `get_context_messages` and `get_recent_activity`. They answer questions like what Codex did last or which sessions ran in this project.
Is there a remote MCP mode?
Yes, the Context API has a built-in `/mcp` endpoint for Streamable HTTP clients. Requests carry an `Authorization: Bearer` header.
Is a key needed for the SDK?
Yes, the JavaScript and Python SDKs call the Context API with a key of the form `uc_live_`. The key is created in the UltraContext service.
Discussion
No questions or reviews yet.
Related
CLI toolsA long-term memory plugin and server for Claude Code and Codex: decisions and handoffs move between sessions and agents
A local context store for coding agents that captures project knowledge and reuses it across Codex, Claude Code and OpenCode
An MCP server that preserves Claude Code context between sessions: decisions, checkpoints and a file cache kept in local SQLite.
Shared memory for coding agents: messages in SQLite, old context compacted into a summary tree and MCP tools to search it.
ECX ties Claude Code and Codex together with shared memory so each sees the other latest messages, plus 19 skills and 21 hooks.
An MCP server that keeps large tool output out of the agent's context window and stores session memory in SQLite
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| UltraContext (this card) | no | 441 | ||
| session-migrate | no | 176 | moves a session between agents; UltraContext also stores versioned history and serves it to all agents through MCP | |
| SessionBridge: a temporary bridge to 1C over RDP | no | API key | 0 | an MCP for session exchange; this one adds background capture, a dashboard and a Context API with SDKs |
README in short
The project describes itself as open context infrastructure for agents with three parts: the CLI, the MCP server and a Git-like Context API of five methods (create, get, append, update, delete) with automatic versioning and time travel across history.