openai / openai/codex

TUI: add Harpoon-style pinned slots for direct agent switching

Open
#41,345 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

CLI enhancement subagent TUI
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What variant of Codex are you using?

Codex CLI 0.150.1 (terminal TUI), using the /agents command center.

What feature would you like to see?

Add stable, user-assignable slots for active agent threads and direct keybindings to switch to them without reopening /agents each time.

Suggested interaction:

  • In /agents, assign the highlighted agent to slot 1–9 (a StarCraft control-group / Harpoon-style model).
  • From any agent thread, a configurable shortcut such as Alt+1 through Alt+9 switches directly to the existing thread in that slot.
  • A direct shortcut such as Alt+0 returns to the parent thread.
  • Show assigned slot numbers beside agents in the command center.
  • Provide /agent 3 or an equivalent command fallback for terminals that cannot encode the configured chord.
  • Keep slot assignments stable when agents move between Working, Needs input, and Ready groups.
  • Switching must focus the existing live thread; it must not spawn or resume a duplicate.

The current repeated workflow is:

/agents → navigate or search → Enter → repeat whenever switching tasks.

With five to eight parallel agents whose responsibilities are already known—for example, “integration tests are slot 1”—the selector interrupts flow. tmux provides instant prefix + number navigation, but using separate tmux Codex sessions loses the native task status, lifecycle, steering, and result collection that make /agents reliable.

Pinned direct-access slots would preserve native Codex orchestration while making frequent agent switching a single action.

Additional information

Related to #22321, which introduced the Agent View. This is a narrower follow-up about fast repeated navigation among already-visible live agent threads, not a request for a global cross-process registry.

Useful acceptance criteria:

  • One configurable action switches from any thread to an assigned agent.
  • Slot mappings remain stable while dashboard ordering and status groups change.
  • The parent thread has a direct binding.
  • Selecting a slot never duplicates the agent thread.
  • Terminal-safe command fallback is available when numeric modifier keys are unavailable.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the /agents command center and the existing keyboard-action and command-dispatch entry points; trace how live agent threads, parent navigation, and status groups are identified. The work is done when configurable slots, direct switching, parent navigation, stable mappings, and a terminal-safe command fallback meet the listed acceptance criteria without duplicating threads.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.