Account
Notifications
Labels
Conversations
Commands
Secrets
Cluster
Browser
Workspaces
Harnesses
Git
Classifiers
Resources
Shortcuts
Updates
Client logs
Changelog
Focus interface (experimental)
One screen at a time, with floating contextual controls. Saves immediately for your account on this node. Turn off here to restore the classic interface without leaving your conversation.
Appearance
☾ Switch to dark theme
Conversation history
Load conversation summaries from the last
days
Older transcripts stay on disk and load only when opened from a pin, recent item, canvas pane, or direct link.
Delete conversations with no activity for
days
Deletion removes the transcript on every node. Pinned, ticket, and scheduled conversations are kept. Conversations that never got a message are deleted after an hour.
Context compaction
Compact conversations automatically between messages
Compact when context reaches
percent
This setting applies only to conversations running on this node. Disable it to compact manually.
Attachments
Digest images and files for the agent
When on, this node describes uploaded images and browser screenshots with a vision-capable Pi model and inlines small text files, sending the words and the file path instead of the raw image so the harness does not carry every picture in its history. Agents can still open the file. When off, attachments are sent as today.
Sync check
Check file sync in the background and fix problems quietly
Sync check harness
Every few minutes this node looks for Syncthing conflict copies in the projects it owns and for folders stuck in an error state. It removes duplicate copies, restores copies whose original is gone, rescans broken folders, and asks the chosen harness and model to merge real two-sided edits. Binary and very large files are left for you.
Terminal access
Allow twins to open a terminal on this node
Allow other nodes to open a terminal on this node
These apply when you are signed in to another node and open a terminal for a conversation or ticket running here. Signing in to this node directly always gives you its terminal.
Shell commands
Limit how long an agent's shell command may run
Stop a command after
seconds
Optional shorter limit for agent shell commands. A command stopped by this limit returns exit code 124. The subprocess maximum below still applies.
Subprocess maximum lifetime, minutes
Default 360 minutes, measured from launch, not last activity. Applies to owned agent processes, shell/background tasks, terminal shells and command helpers on this node. Changes also affect running work. Sends TERM, then KILL after 5 seconds. Excludes the server, supervisor, update installer and persistent browser service. Descendants that detach before observation cannot be guaranteed.
Account
Signed in as .
Multi-factor authentication
An authenticator code after your password. Setup and verification stay inside Joint Bob, for your account on this node only.
Set up MFA
Log out
Predefined conversation labels
One label per line, up to 50 labels of 80 characters each. These choices are node-local. Other always allows free text. Changing this list does not change existing conversation classifications.
Named service, database, website, and custom accounts are encrypted and stay on this node unless you mark one to replicate. Attach them to a workspace, a project, or a single conversation.
Secret accounts Attached accounts are exported into every new agent session in that scope, so the AWS CLI, gcloud, the gh CLI and git push work without being asked for keys. The most specific scope wins per variable name.
Cluster actions apply immediately. They do not require Save settings.
Loading clusters…
Retry
Profiles
Signed-in browser profiles on every machine you can reach. A profile's logins stay on its machine; a shared conversation anywhere opens it there. A new profile is usable only by the conversation that created it until you share it.
This machine's browser machines
Choose where new browsers open from this machine, independent of where the agent runs. Choices here apply only to this machine. Conversations and individual starts can still override them, and existing accounts stay on their original machines.
Order: the conversation's choice, then this machine's choice for the project's cluster, then the cluster default, then the default below.
Default browser machineNo default
Used for projects that are not shared in a cluster, or whose clusters have no default browser machine.
Check status
Browser status has not been checked.
Managed workspace
Joint Bob home folder
Browse
New projects use <home>/<workspace>/...; board cards use <home>/tickets/... Existing projects are not moved.
Workspaces
A workspace groups related projects and is a folder directly under the Joint Bob home folder. Secret accounts attached to a workspace reach every project in it.
New workspace name
Add workspace
Syncthing
Syncthing is installed, started, discovered, and configured automatically. Project files, ticket workspaces, shareable engine configuration, and sessions are shared when nodes pair. Authentication and credential-bearing settings stay on each node.
Harness paths are detected automatically for this node. Do not copy paths from another machine. Overrides are blank until you change them; a blank field uses the node default shown here.
Check paths
Choose the default reviewer for Git review comments. Automatic picks the opposite harness to the one used last in the conversation. Changes save immediately.
Reviewer
Model
Effort
Named routing configurations choose the model and reasoning for each prompt by difficulty. Each node keeps its own configurations, picks the active one independently, and can share one with the eligible nodes of its clusters. The classifier's API key comes from the matching variable on an attached secret account.
Active configuration
Configuration used on this node
Sharing never changes another node's active configuration; every node selects its own. Below the confidence threshold, or on any classifier failure, prompts keep the conversation's current model.
Configurations
New configuration name
New configuration
This conversation
This project, every node
Every node
Search skills and tools
Refresh
Skills
MCP servers
+ Add skills
Load paths
Bring skills from a folder on this node
Scan
Select new and changed
Import selected
Import copies whole skill folders, scripts included, into this node's managed skills. Every agent on this node sees them; they stay on this node until you share them from the Skills tab.
Additional to managed and native defaults. Enter one absolute file or folder per line; replace lines or add multiple folders (up to 20) per type. Project-scoped folders are additional and more specific than these global lists.
Skills
Browse
Save settings first when changing load paths. Sync local skills copies whole skill folders from these paths, scripts included, into this node's managed skills. They stay on this node until you share them from the Skills tab. Local sources stay untouched; matching managed skills are backed up and replaced.
Sync local skills Reload skills
Reload updates idle Pi sessions on this node. Claude and Kiro pick up changes on their next run.
Prompts
Browse
Rules
Browse
Plugins
Browse
Every keyboard shortcut in Joint Bob, in one place. Press ⌘ ? or ⌃ ? anywhere in the app to come straight back here.
Find a shortcut
Click a field, then press a shortcut. You can follow one modified key with a second key, as in Control Space then Backslash. Shortcuts hold at most four physical keys and need Command, Control, or Option. Backspace clears a shortcut.
The chord every conversation key rides under
Conversation keys
A key you gave one conversation on the canvas, fired with the chord above plus its key. Set these from a conversation’s shortcut button on the canvas.
Fixed shortcuts
These cannot be changed:
⌘ ? or ⌃ ? — this panel
1 –0 in the recent conversations list — open that row
↑ ↓ and Enter in the search bar — move and open
Reset to defaults
Save shortcuts
Updates install the newest GitHub release and restart this node. Running work is prepared, saved, and resumed automatically; if the installation fails, the previous version is restored.
…
Check for updates
Update this node
Automatically install updates on this node
Agent harnesses
Harnesses update every 24 hours. Joint Bob keeps npm-based harnesses in persistent managed storage.
Update harnesses now
Cluster nodes
Update all nodes rolls out the same release one node at a time, this node last, and stops at the first failure.
Update all nodes
Console output and uncaught browser errors from this tab. Logs survive page reloads, stay on this device, and clear when the tab closes.
No client logs captured.
Copy logs
Clear logs
What shipped in the last ten deployments. This node is running … .