Project settings
Project settings apply to one project. A project value wins over the app setting with the same name.
Open them: click the gear icon on the project row in the sidebar, or right-click the project → Project Settings. The worktree menu, the project canvas menu and the command palette (⌘K → Project Settings) open them too.
The dialog has five panes: General, Integrations, Mr. Robot, MCP Servers and splitkick.json. A plain project (without git) has no Integrations and no Mr. Robot.
General
Display Name
Default: the folder name
What it does: the name of the project in Splitkick. The folder on disk keeps its name. New worktrees go into a folder with the new name. Existing worktrees stay where they are.
Project Avatar
Default: the icon that Splitkick finds in the project (for example a favicon), else the first letter of the name
What it does: Add Image sets your own image (PNG, JPG, WebP or GIF) for the sidebar. Remove goes back to the default. Desktop app only.
Project Kind
Default: Git project (Plain project for a folder without git)
What it does: a git project has worktrees, diffs, commits, pull requests and the GitHub features. A plain project has only its base session. Convert to plain project keeps the .git folder and only turns these features off. You must archive the worktrees first. Initialize Git… or Switch to git project goes the other way. See Non-code projects.
Project Preset
Default: Automatic (Coding for a git project, Non-coding for a plain project)
What it does: for a Non-coding project, Splitkick removes the section about the GitHub issue search from the Global System Prompt, so the agent does not search for related issues after its changes. Nothing else changes.
Why change it: select Non-coding for documents, research or other work that has no GitHub issues.
Default Branch
Default: the branch that was checked out when you added the project
What it does: new worktrees start from this branch. When you change it, Splitkick checks out the branch in the main project folder (the base session). If the checkout fails, for example because of changes that conflict, the setting is not saved. Git projects only.
Default Provider
Default: Use global default
What it does: the Claude provider for new sessions in this project: the app default, Anthropic, or one of your provider profiles. Shown only when you have a profile. Commit messages, PR texts and reviews use the app's default provider, not this one.
Why change it: when one project must use another account or endpoint, for example a client project with its own key.
Default Backend
Default: Use global default
What it does: the CLI for new sessions in this project. It wins over the app's Default backend. Magic prompts without their own backend also use it. Existing sessions keep their backend.
Why change it: when one project works best with another CLI.
Base Directory
Default: ~/splitkick
What it does: where new worktrees of this project go: in a folder with the project name in it. Existing worktrees do not move. Use Browse, or type a full path. Reset to default goes back to ~/splitkick. Git projects only. See Files on disk.
Why change it: put worktrees on a larger or faster disk.
Custom System Prompt
Default: empty
What it does: added to the system prompt of every message in all sessions of this project, for all backends, after the Global System Prompt. It does not replace it.
Why change it: rules that apply to this project only, for example "Use TypeScript strict mode".
Cost: its text is sent with every message.
Integrations
Git projects only.
Project API Key Override (Linear)
Default: empty (the app key is used)
What it does: a Linear key for this project only. Remove goes back to the app key.
Why change it: when the project is in another Linear workspace.
Cost: the key is kept in plain text.
Team Filter
Default: All teams
What it does: shows only the Linear issues of one team in this project. Shown when there is a Linear key.
Project Auth Token Override (Sentry)
Default: empty (the app token is used)
What it does: a Sentry token for this project only. Save & Test saves it only when it can list Sentry projects. When the token sees only one project, Splitkick selects it.
Cost: the token is kept in plain text.
Sentry Project
Default: none (selected automatically when the token sees only one project)
What it does: the Sentry project that belongs to this Splitkick project. Splitkick loads its open issues. Without a Sentry project, there are no Sentry issues here.
Mr. Robot Beta
Mr. Robot works on GitHub issues without you. It checks the open issues of the project, makes one worktree per issue, and writes a plan. If you want, it also carries out the plan. Git projects only, and gh must be logged in.
How it works:
- At each check, Mr. Robot lists the open issues (up to 1,000) of the repository.
- First it archives its own worktrees whose issue is closed, or that no longer match the label filters.
- When fewer than Max active worktrees of its worktrees are open, it starts new issues, newest first. An issue that already has a worktree in this project (also an archived one, or one you made yourself) is skipped. So each issue gets one try.
- For each issue it makes a worktree with the issue as context. The setup script runs as usual. Then it sends the Investigate Issue prompt, always in Plan mode.
- With Also yolo approved plans, it approves the plan when it is ready and starts the work in Yolo mode.
- When an error says that the quota is used up, or that the login has expired, Mr. Robot turns itself off for this project and shows a message that stays until you close it.
Mr. Robot does not commit, push or open pull requests itself. In Yolo, the agent does what the prompt tells it.
Cost: one planning run per issue (by default with Opus for Claude), and with yolo one more full run to carry it out. One worktree per issue (disk space and the time of the setup script). One GitHub call per check. With yolo, code changes happen without a person who reads the plan.
All fields except the main switch, the Active hours switch and the yolo check box are saved with Save settings.
Mr. Robot issue sweeps
Default: off
What it does: turns Mr. Robot on or off for this project.
Check every
Default: 30 minutes
What it does: the time between two checks of this project (at least 1 minute). After a start of Splitkick, the first check is at once.
Cost: each check is one GitHub API call.
Issues per run
Default: 1
What it does: how many new issues Mr. Robot starts in one check, at most. The free places of Max active worktrees limit it too.
Max active worktrees
Default: 1
What it does: how many open Mr. Robot worktrees this project can have. Your own worktrees do not count. A place becomes free when the worktree is archived.
Why change it: a higher value works on more issues at the same time, with more disk use and more AI runs at the same time.
Included GitHub labels
Default: empty (all open issues)
What it does: when set, Mr. Robot takes only issues with at least one of these labels. When an issue loses all of them, Mr. Robot archives its worktree.
Why change it: add a label such as mr-robot and give it only to the issues that it may work on.
Excluded GitHub labels
Default: empty
What it does: issues with one of these labels are skipped. Excluded wins over included. When you add an excluded label to an issue that Mr. Robot works on, it archives the worktree at the next check.
Active hours
Default: off (From 8:00 PM, To 8:00 AM)
What it does: Mr. Robot checks only between From and To, in the local time of the computer that runs Splitkick. The time can go past midnight. Outside the hours there are no checks: no new issues, no cleanup. Runs that already started go on.
Why change it: let Mr. Robot work at night, when you do not need your usage quota.
Planning: Backend + model and Provider
Default: the first installed CLI, with its default model (for Claude: Opus 4.8 1M); provider Anthropic
What it does: the CLI, model and Claude provider for the planning run.
Why change it: a cheaper model costs less per issue.
Also yolo approved plans
Default: off
What it does: when a plan is ready, Mr. Robot approves it and starts the work in Yolo mode, with the backend and model of Yolo execution. When it is off, Mr. Robot stops after the plan, and you approve it yourself. After a restart of Splitkick, a plan that was waiting is not approved automatically.
Cost: one more full run per issue, and changes that no person checked first.
Yolo execution: Backend + model and Provider
Default: the first installed CLI, with its default model; provider Anthropic
What it does: the CLI, model and provider for the Yolo run. So you can plan with one model and build with another. Disabled while Also yolo approved plans is off.
MCP Servers
Default: the app list from Default MCP Servers
What it does: the MCP servers that are on by default in new sessions of this project. The servers come from the configuration of your CLIs. A new session uses its own choice, then this list, then the app list. A server that shows up for the first time is on. A server that you turned off stays off.
Why change it: turn on a database or design server only in the project that needs it.
Cost: each server that is on adds its tool descriptions to every turn.
splitkick.json
splitkick.json is a file in the root folder of the project, with scripts and ports. If the project has an older jean.json, Splitkick uses that file. The pane edits the file in the main project folder. Worktrees use it also before you commit it. When you commit it, everybody who opens the repository in Splitkick gets the same scripts.
Save writes the whole file again. Only the scripts and the ports are kept: other keys in the file are removed.
Setup
Default: none
What it does: runs after Splitkick makes a new worktree (also for a pull request and for Mr. Robot), in your login shell in the worktree folder. You can work in the worktree while it runs. It stops after 15 minutes. Not for the base session.
Why change it: install the dependencies or copy a .env file into each new worktree, for example npm install.
Cost: time and disk per worktree. A setup script in a repository that you cloned runs on every new worktree, so read it first.
Run
Default: none
What it does: one or more commands, for example npm run dev. They never run by themselves. Start them from the toolbar or with ⌘R, which starts the first command in a terminal of the worktree.
Ports
Default: none
What it does: ports with a label and an optional host (default localhost). ⌘O opens them in the browser.
Teardown
Default: none
What it does: runs in the background just before Splitkick deletes a worktree, with the same shell and 15-minute limit as Setup. In this version it runs when you delete a worktree, not when you archive it.
Why change it: stop services of the worktree, for example docker compose down.
Script variables
Setup and Teardown get these variables:
$JEAN_WORKSPACE_PATH: the worktree folder$JEAN_ROOT_PATH: the root folder of the repository$JEAN_BRANCH: the branch name