jackin console
Interactive operator console
The operator console is the simplest and most convenient way to use jackin❯ day-to-day, and the surface most operators stay on. The CLI is for the advanced and very specific cases: scripted one-liners, niche flags, automation, and behaviours the console deliberately does not expose.
Today the console covers launching agents (the load flow), managing workspaces (workspace), editing per-workspace auth and env tables (config for those scopes), managing operator-level config through Settings, and common recovery actions for visible instances including shell access and new-session actions via x and a. The remaining CLI subcommands — eject, exile, and niche flags — are not in the console yet and live on the CLI for now; they will land in the console as the TUI grows feature by feature. There is no feature parity by design: niche flags continue to land on the CLI first.
The expectation is most people use the TUI, and reach for the CLI only when they need it.
Synopsis
jackin console [--debug]Opens the operator console — an interactive terminal UI for picking a workspace and an agent, managing saved workspaces, editing per-workspace settings, and launching agents into isolated containers.
Running jackin with no subcommand opens the same console when stdout is attached to an interactive terminal. On non-interactive shells (piped output, CI, very small terminals) bare jackin silently prints top-level help instead. jackin console makes the intent explicit and errors out when the terminal cannot host the TUI.
The console is always the full experience and has no flags to scale it back: launches show the rich progress cockpit, and boundary rain follows the global jackin❯ instance lifecycle. The intro is two screens — the opening phrase/logo screen, then the accelerating warp into the construct — and plays on console entry when no jackin-managed role containers are running. The outro is also two screens — the decelerating warp, then the closing logo/time-in-construct caption — and plays only when the foreground session exits and no role containers remain. Starting or leaving a second concurrent instance does not play either boundary ritual because the operator is already inside the construct. --debug writes detailed evidence to the run diagnostics artifact instead of turning the screen into raw logs. Lower-level jackin load uses the same rich launch cockpit.
For local visual QA, contributors can force boundary rituals with env vars rather than CLI flags; see Launch Progress Surface.
What the console gives you
The console opens directly to a workspace manager list — no separate workspace-picker stage. From there you can:
- Launch an agent into a workspace. Each workspace row opens the role picker in the sidebar, even when there is only one eligible role. Confirm the highlighted role to launch. If the role supports multiple agents and the workspace has no
default_agent, the console asks for the runtime next. - Use your current directory as a workspace. A synthetic row at the top of the manager list mounts your
cwdat the same path inside the container. Useful for quick one-off launches without saving a workspace definition. - Navigate running instances in the workspace tree. Workspace rows show a
*indicator when containers are active. Press→to expand the tree and reveal instance child rows — each shows the instance ID, role, agent runtime, and status. Navigate to an instance row and the right panel switches to a session pane showing the live tab/pane tree when the Capsule daemon is reachable, with recorded sessions as the fallback. Session rows and tab badges use the same public states as the in-container multiplexer:working,blocked,done,idle, andunknown;doneclears toidleonce you view the pane. From an instance row,Enterreconnects,Nopens an agent picker to start a new session,Xopens an ephemeral zsh shell,Tstops the running container (preserving local recovery state), andPejects then purges everything (containers, network, certs volume, AND local recovery state) after a confirmation prompt. Press←from an instance row to collapse the tree and return to the workspace row. The workspace detail pane shows a compact running-instances badge when the tree is collapsed. From any workspace row,rreconnects or recovers,astarts another agent session,xopens a shell,iprints a read-only state report, andppurges. - Open the workspace editor. Edit the workspace's roles, environment variables, and authentication settings. Each editor surface lives on its own tab inside the editor.
- Open Settings. Manage operator-level
jackin configsurfaces from theMounts,Environments,Auth, andTrusttabs.
For the per-axis details — what each tab manages, what defaults apply, where the launch summary surfaces what's effective — see the per-axis guide pages linked below.
Workspace editor — what each tab is for
- General — workspace name and working directory.
- Roles — which roles may launch in this workspace, and which one (if any) is the default. See Workspaces.
- Mounts — host directories made available inside the container, with read-only / read-write and per-mount isolation modes. See Mounts.
- Environments — workspace-wide and per-role environment variables, sourced from literal values, host env, or
1Password. See Environment Variables. - Auth —
Claude Code,Codex,Amp,Kimi,OpenCode, andGitHub CLIauthentication forwarding modes at workspace and per-role scope. See Authentication for the shared pattern across every auth axis.
Every editor surface is reachable from the workspace manager list — you don't need to know which keystroke opens which panel; the in-app footer shows the available actions for whatever you have focused.
When to reach for the CLI instead
jackin console is the simplified, intuitive TUI for everyday workspace launches. jackin load is the full-surface CLI — together with its neighbours (hardline, eject, exile, purge, workspace, config) it exposes every flag and capability jackin❯ offers.
The console intentionally stays narrower. New niche flags and detail-level options land on the CLI first, and sometimes exclusively. The console surfaces only what fits into an intuitive flow — treat it as a fast path for the common cases, not as a visual alias for the CLI.
jackin console | jackin load | |
|---|---|---|
| Interface | Visual TUI | Command-line arguments |
| Best for | Exploring options, first-time setup, day-to-day launches | Scripting, repeatable workflows, feature-specific flags |
| Workspace selection | Interactive picker | Explicit argument |
| Agent selection | Interactive picker | Explicit argument |
| Feature surface | Simplified — common flows only | Complete — every flag jackin❯ exposes |
| Where new niche flags land | Rarely | First, and sometimes exclusively |
For a deeper operator workflow around fresh instances versus multiple agent sessions inside one running instance, see Parallel Agents.
Running inside tmux
If you run jackin console from within a tmux session on your host, your host tmux needs a small amount of configuration for agents to receive the correct keyboard and terminal experience — specifically extended-keys always so that Shift+Enter is not collapsed to plain Enter before it reaches the agent. (The container itself no longer uses tmux — agent sessions run inside an in-container multiplexer managed by jackin❯.) See Running inside tmux for the required host-side settings and an explanation of each one.