Overview
The Projects API provides functionality for managing Git repositories, including adding/removing projects, organizing them in folders, and configuring project settings.Data Structures
Project
Unique identifier (UUID v4)
Display name (derived from repo directory name or folder name)
Absolute path to the original git repository (empty for folders)
Branch to create worktrees from (empty for folders)
Unix timestamp when project was added
Display order in sidebar (lower = higher in list)
Parent folder ID (null = root level)
True if this is a folder (not a real project)
Path to custom avatar image (relative to app data dir)
MCP server names enabled by default for this project (null = inherit from global)
Custom system prompt appended to every session execution
Default provider profile name for sessions (null = use global default)
Default CLI backend for sessions: “claude” | “codex” | “opencode” (null = use global default)
Custom base directory for worktrees (null = use default ~/jean)
Linear personal API key for fetching issues (per-project)
Linear team ID to filter issues (null = show all teams)
Commands
List Projects
Retrieve all projects and folders.Add Project
Add a Git repository to Jean.Absolute path to the Git repository
Parent folder ID (omit for root level)
Remove Project
Remove a project from Jean (does not delete files).ID of the project to remove
Update Project Settings
Update project configuration.ID of the project to update
Branch to create worktrees from
Custom system prompt for AI sessions
List of MCP server names to enable
Default provider profile name
Custom worktrees base directory
Reorder Projects
Reorder projects and folders.Array of project IDs in the desired order
Folder Management
Create Folder
Create a folder for organizing projects.Folder name
Parent folder ID (omit for root level)
Rename Folder
ID of the folder to rename
New folder name
Delete Folder
Delete an empty folder.ID of the folder to delete
Move Item
Move a project or folder to a different parent.ID of the item to move
ID of the new parent folder (null for root)
Target position in the new parent (optional)
Git Operations
Get Project Branches
List all branches in a project’s repository.ID of the project
Get Git Remotes
List all Git remotes for a repository.Absolute path to the repository
Get GitHub Remotes
List GitHub remotes only.Absolute path to the repository
Avatar Management
Set Project Avatar
Set a custom avatar image for a project.ID of the project
Remove Project Avatar
ID of the project
Events
The following events are emitted for project changes:project:added
Emitted when a project is added.project:updated
Emitted when a project is updated.project:removed
Emitted when a project is removed.Error Codes
| Error | Description |
|---|---|
Project not found: {id} | The specified project ID does not exist |
Path is not a git repository: {path} | The path does not contain a .git directory |
Folder name already exists: {name} | A folder with this name already exists at this level |
Cannot delete non-empty folder | The folder contains projects or subfolders |
Would exceed max nesting depth | Moving would create more than 3 levels of nesting |
Cannot move item into itself or descendant | Circular parent-child relationship |
Next Steps
Worktrees API
Create and manage worktrees
Sessions API
Handle chat sessions