Remote Agent Manager
Manage local and remote Codex CLI sessions without leaving VS Code or code-server. Remote Agent Manager lists sessions on the extension-host machine first, then reads the server aliases defined in your SSH configuration and discovers their saved sessions on demand.
Features
- Shows
<hostname> (localhost) first and lists that machine's Codex sessions without using SSH.
- Uses concrete remote hosts from
~/.ssh/config, including hosts from Include files.
- Groups local and remote sessions by server and project working directory.
- Ignores sessions whose working-directory path contains a
.agent-runner segment.
- Shows session names and last-updated times from Codex metadata, with inline renaming.
- Resumes sessions by UUID in an integrated terminal.
- Permanently deletes a session from its server after explicit confirmation.
- Finds and deletes stale sessions on a selected server after showing an exact count and confirmation. A session is stale when it is older than two weeks or its project directory no longer exists.
- Creates a new local or remote Codex session with a guided path and name flow.
- Opens a local terminal for
localhost or an SSH terminal for a remote server.
- Opens
~/.ssh/config directly from the Active Projects header.
- Hides servers you do not currently need and restores them from the Hidden Group view.
- Persists the hidden-server list across reloads and extension updates.
- Loads servers lazily, so an offline host does not block the rest of the sidebar.
Getting started
- Install the extension and reload VS Code or code-server.
- Open Remote Agent Manager from the Activity Bar.
- Expand
localhost or an SSH server to load its Codex sessions.
- Expand a project directory and select a session to resume it.
Hover over a server row to start a new session, refresh that server, open its terminal, or clean its stale sessions. Remote server rows can also be hidden. Hover over a session to resume, rename, or permanently delete it. Hidden remote servers appear in the Hidden Group subview and can be restored with the eye button.
The Active Projects header provides actions to reload SSH hosts, open your SSH configuration, and focus the Hidden Group. Use Reload SSH Hosts after editing ~/.ssh/config or an included configuration file. Session refresh, new-session, and cleanup actions are available on each server row. Cleanup scans only that server, checks each session's working directory, shows the number of matching sessions, and requires confirmation before asking Codex to delete them.
Use the + button on a server row to start a new session:
- Enter the project path on that server.
- Enter a session name.
The extension creates and names the session through Codex's noninteractive app-server interface, verifies that Codex wrote its rollout file, and then opens that exact session in the interactive TUI. Creating a session does not send a model prompt or inspect or change project files.
Requirements
- VS Code 1.90 or newer, or a compatible code-server release.
- To use remote servers, the
ssh command and aliases in ~/.ssh/config are required.
- Codex CLI with the
app-server command must be installed and authenticated locally and on each remote server you use.
- Local and remote targets must provide
bash, find, grep, and a compatible stat command.
The session browser uses non-interactive SSH authentication. Key-based authentication or an already configured SSH agent is recommended.
How session discovery works
When a server is expanded, the extension reads Codex rollout metadata under ${CODEX_HOME:-$HOME/.codex}/sessions and session names from ${CODEX_HOME:-$HOME/.codex}/session_index.jsonl. Local discovery reads those files directly; remote discovery reads them through SSH. Discovery is read-only. Session start and resume actions run in visible integrated terminals so you retain control of the interactive Codex process.
Privacy and security
Remote Agent Manager does not send session data to an external service. It reads only the metadata needed to display session ID, name, working directory, and update time. Remote access invokes your local SSH client; SSH behavior—including host verification, jump hosts, identities, and proxies—comes from your existing SSH configuration.
License
MIT