How to use the workspace indicator
The workspace indicator shows 🔒 jailoc / <name> in the agent's interface, so you can tell a jailoc session from one on the host. Every built-in agent shows it:
| Agent | Where it shows | How jailoc loads it |
|---|---|---|
OpenCode 1 (opencode1) |
Sidebar | TUI plugin listed in the TUI config that OPENCODE_TUI_CONFIG points at |
OpenCode 2 (opencode, opencode2) |
Sidebar, inside a session | TUI plugin listed in OPENCODE_CLI_CONFIG_CONTENT |
Claude Code (claude) |
Status line | --settings /etc/jailoc-tui-plugin/claude-settings.json |
GitHub Copilot CLI (copilot) |
Status line | statusLine in ~/.copilot/settings.json |
OmO (omo) |
Footer status | --extension /etc/jailoc-tui-plugin/omo.js |
Antigravity CLI (agy) |
Status line | statusLine in ~/.gemini/antigravity-cli/settings.json |
Load the indicator
The indicator is bundled with jailoc and needs no configuration. At jailoc up, jailoc writes the agent's indicator files to its cache directory and shares them read-only into the VM at /etc/jailoc-tui-plugin. The status line of Claude Code is a Node.js script, so it needs node on PATH; the status line of GitHub Copilot CLI and Antigravity CLI is a printf command run by the shell.
- OpenCode 2:
OPENCODE_CLI_CONFIG_CONTENTlists the plugins ofcli.jsonin your OpenCode config directory (or oftui.jsonwhen there's nocli.json) followed by the jailoc plugin. The list replaces the plugins ofcli.json; its other settings still apply. Both files may contain comments and trailing commas. jailoc reads the file when the VM starts, so runjailoc restart <name>after changing the plugins;jailoc reloadreports the change but doesn't apply it. If the file can't be parsed, jailoc warns and doesn't load its plugin, leaving your configuration as it is. - Claude Code: the
--settingsfile replaces the status line of your settings. The jailoc status line runs thestatusLinecommand of your settings (.claude/settings.local.jsonor.claude/settings.jsonin the project, thensettings.jsonin the Claude config directory) and puts the workspace before its first line. - GitHub Copilot CLI: Copilot reads a status line only from its user settings, so jailoc adds one to
settings.jsonin the agent's persistent state directory when the file sets none. If you set your ownstatusLinethere, jailoc leaves it alone and Copilot shows yours instead; it only replaces the Node.js status line of an older jailoc. jailoc doesn't touch the file when you mount~/.copilotfrom the host. - Antigravity CLI: the same as GitHub Copilot CLI, with
antigravity-cli/settings.jsonin the agent's state directory (~/.gemini)./statusline <command>sets your own status line there, and/statusline deleteremoves it, so jailoc adds its own again at the next start.
Update the indicator
The indicator files are written at jailoc up. After upgrading jailoc, restart the workspace:
jailoc restart <name>
Fix a missing indicator
The agent doesn't show the workspace
Check the environment inside a session:
env | grep -E 'JAILOC|OPENCODE_TUI_CONFIG|OPENCODE_CLI_CONFIG_CONTENT'
You should see JAILOC=1 and JAILOC_WORKSPACE=<name>; the OpenCode plugins and the OmO extension render nothing without JAILOC. For OpenCode 1 you should also see OPENCODE_TUI_CONFIG=/etc/jailoc-cache/tui-container.json, and for OpenCode 2 OPENCODE_CLI_CONFIG_CONTENT with file:///etc/jailoc-tui-plugin among its plugins. OpenCode 2 shows the sidebar inside a session, not on the home screen. Claude Code shows no status line until you trust the workspace folder, or when your settings set disableAllHooks.
The indicator files are missing
Check that the indicator directory is visible in the VM:
ls /etc/jailoc-tui-plugin/
If it's empty or missing, run jailoc restart <name>. See Troubleshooting for other session problems.