Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/bastndev/f1/llms.txt

Use this file to discover all available pages before exploring further.

The agents registry (src/my-cli/shared/agents.ts) is the single source of truth for every CLI the hub can launch. Each entry defines the executable command, a stable slug used for CSS theming and model detection via data-agent, a list of fuzzy-search aliases for the launcher, and the slash commands that open the agent’s native model picker and session history. Adding a new built-in agent requires only one entry in this file, a corresponding SVG icon, and an optional installer entry.

Built-in Agents

F1 ships with 9 pre-configured agents that are selectable from the launcher without any additional setup.
AgentCommandSlugModel CommandResume Command
OpenCodeopencodeopencode/models/sessions
Claude Codeclaudeclaude/model/resume
Codex CLIcodexcodex/model/resume
Antigravity CLIagyantigravity/model/resume
Kiro CLIkiro-clikiro/model/chat
Cursorcursorcursor/model/resume
Grokgrokgrok/model/resume
Kilo Codekilokilocode/models/sessions
Copilot CLIcopilotcopilot/model/resume
Cursor is launched as cursor agent — the agent argument is passed automatically from the registry (args: ['agent']). The Command column above shows the binary name only.

Fuzzy-Search Aliases

The launcher’s search input accepts fuzzy aliases, so you don’t need to type the exact agent name. Each agent’s aliases array defines the terms that resolve it:
AgentAliases
OpenCodeopencode, open code, op
Claude Codeclaude, claude code
Codex CLIcodex, codex cli, code, co, c
Antigravity CLIantigravity, antigravity cli, agy, an, ant
Kiro CLIkiro, kiro cli
Cursorcursor
Grokgrok
Kilo Codekilo, kilo code, code, k
Copilot CLIgithub copilot, copilot, copilot cli
The slug resolver also performs a fuzzy fallback: if a session label isn’t an exact match, it checks whether the label contains the slug or equals any alias. This lets variants like "open code" still resolve correctly.

Installation Detection

Before launching any agent, the extension checks whether the CLI is installed and reachable in PATH. If it is not found, F1 shows a notification with the appropriate install command for the current platform. Each agent’s installer is defined in src/my-cli/core/terminal-cli/cli-installers.ts:
// Example: Codex CLI installer
{
  label: 'Codex CLI',
  command: 'codex',
  install: {
    unix: 'curl -fsSL https://chatgpt.com/codex/install.sh | sh',
    windows: 'powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"'
  }
}
All 9 built-in agents have installer entries. In every case, if the binary is missing from PATH, the launch is blocked with a clear error message rather than failing silently inside the terminal.

Switching Agents

1

Open the agent selector

Press CapsLock while focus is inside the CLI Hub panel. The agent selector overlay appears on top of the active terminal.
2

Pick an agent

Press 19 to jump directly to that agent’s position in the registry, or type to fuzzy-search the alias list and press Enter.
3

Close without switching

Press Escape to dismiss the selector without changing the active session.

Custom CLI

F1 can launch any CLI that is not in the built-in registry using the Custom CLI option. When you select it from the launcher, VS Code shows an input box where you type the command name. The validator enforces these rules before attempting to launch:
  • Maximum 64 characters
  • Single command name only — arguments are not accepted here
  • Only letters, numbers, ., -, _, and + are allowed
  • Shell executables (bash, zsh, sh, powershell, tmux, etc.) are blocked
  • The command must not already be one of the 9 built-in agents
If the command passes validation, F1 runs a which / where.exe check to confirm the binary exists in PATH before spawning the session. A custom CLI session behaves identically to a built-in one: full xterm.js rendering, session tabs, and all five built-in tools.
// Custom CLI label formatting: "my-ai-cli" → "My AI CLI"
const formatCustomCliLabel = (command: string) => {
  return command
    .split(/[._+-]+/)
    .filter(Boolean)
    .map((part) =>
      part.toLowerCase() === 'cli' ? 'CLI'
        : part.charAt(0).toUpperCase() + part.slice(1)
    )
    .join(' ');
};
Open the Commands palette (Alt+F1) to browse every slash command that the active agent supports. The palette is per-agent — switching sessions automatically loads the correct command list so you always see relevant commands for the CLI you are working in.

Build docs developers (and LLMs) love