Joint Bob
Agents, together.
Joint Bob agent workspace
Projects

No project selected

Create or select a local folder.

Conversations
Conversations

Board

Tasks for this project

Canvas

Existing conversations, side by side

Select a conversation

No project selected
Idle
Model

Your server-side Pi, in your pocket.

Select a project and start an agent conversation on any connected node.

This node Version …
Canvas

Keyboard shortcut

Canvas

Add conversation

Classification applies only when starting a new conversation.

Go to

Search everything

Open recent conversations, workspace windows, or any Settings tab. Search every project and conversation by name.

Canvas

Go to conversation

Type any part of a title. Enter opens the highlighted conversation; the arrow keys move the highlight.

Secure sign in

Welcome to Joint Bob

Sign in to this node.

Account security

Multi-factor authentication

Costs

Costs & subscriptions

Loading usage…
More filters

Loading totals…

Cost breakdown

Group by

Loading breakdowns…

Page 1 of 1

API-equivalent estimates, not subscription fees or invoices. Tool service fees are not included.

Node configuration

Settings

Paths and generic secret accounts are node-local. GitHub credentials move only by explicit sync to a node you pick.

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
Conversation history

Older transcripts stay on disk and load only when opened from a pin, recent item, canvas pane, or direct link.

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

This setting applies only to conversations running on this node. Disable it to compact manually.

Attachments

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

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

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

Optional shorter limit for agent shell commands. A command stopped by this limit returns exit code 124. The subprocess maximum below still applies.

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.

Updated

What’s new

Joint Bob updated to … on this node.

Node filesystem

Choose folder

Select a folder on the execution node.

Temporary conversation

By the Way

Cloning conversation…

Selected node shell

Terminal

Disconnected
Jump back in

Recent conversations

Conversations you opened recently, across every project. Press 1-9 to open one, or Ctrl/Cmd + K to reopen this list. Pin one to keep it at the top.

Live work

Running conversations

Conversations currently running, across every project.

Waiting on you

Pending reviews

Conversations that finished since you last looked, across every project. Press 1-9 or 0 to open one.

Available skills

Skills

Session tools

Tools

Choose which tools the agent can use on its next turn.

Session model

Choose model

Project file

Open file

Project changes

Git

Side-by-side diff

Project files

Files

Session label

Rename conversation

The name syncs to your other nodes. Leave blank to restore the original title.

Conversation settings

Classify conversation

The classification syncs to your other nodes. Choose Unclassified to clear it.

Conversation notifications

Publish reviews to ntfy

When this conversation needs review, the notification is also published to the chosen ntfy topic.

New conversation

Name this conversation

The name shows in your conversation list from now on. Leave it blank to keep the automatic title.

Colour

Enter moves to the next step · ⌘/Ctrl + Enter starts now · Esc cancels

Project note

New quick note

Save a paused draft. Start it manually, schedule it, or enable automatic processing.

Secret accounts

These are exported into the conversation the note starts, from its first turn.

Images
Worktree

New worktree

A worktree is a copy of this project's code and text that every node sharing the project receives. Conversations started in it work there, and Merge to project brings the changes back.

Colour
Conversation settings

Set conversation colour

The colour syncs to your other nodes.

Colour
Secret credentials

Secret account

File entries store their content privately; the environment receives the private file path.

Provider

Use the exact HTTPS scheme, host, and port; subdomains are separate. Assigned scopes authorize ordinary automatic sign-in; MFA and CAPTCHA remain human-only. Bound values are not exported to the shell. Sharing sends an encrypted-at-rest copy to selected nodes; authorized browser sign-in can also use them. Clear the origin to use ordinary environment secrets.

Secret credentials

Secret accounts

Select accounts available to new agent sessions in this scope.

New workspace

Add project folder

Create an empty managed folder or import an existing local project.

Colour

Projects synchronize automatically. Local .git and node_modules contents stay on this node and are ignored by Syncthing.

Project settings

Edit project

Managed projects move between group folders. External paths stay in place.

Colour

Additional to managed and native defaults. One absolute file or directory path per line. These apply to new sessions.

Project path

Conversation filters

Session discovery

Project session paths

Paths from paired nodes are learned automatically. This legacy field can add one older session location.

Kanban

New task

Phase agents

Plan mode adds a Planning phase. Use ▶ to get a plan, iterate in chat, then move to In progress to implement. Completed implementation moves to Review.

Ticket handoff

Waiting for Syncthing

Conversation

Background tasks

Select a task to inspect its output.

Confirm

Are you sure?

Choose

Pick one

Merge conflicts

Resolve conflicts

Browser monitoring

Automations

Project-scoped, read-only monitors use an installed immutable checker and an existing signed-in browser tab.

Automation

Scheduled tasks