Preconfigs
Agent personality presets that define tools, model, and system prompt.
Preconfigs
Preconfigs define what your agent can do — which tools it has access to, what model it uses, and how it behaves. They live in ~/.jean2/preconfigs/.
Each preconfig is a file named by its ID. Two formats are supported:
- Markdown with YAML frontmatter (recommended)
- JSON
Both formats are equivalent — use whichever you prefer. Markdown is recommended because the system prompt is written directly in the file body, which is easier to read and edit for long prompts.
This is where the magic happens. Jean2 doesn't prepend any hidden system message to your prompt — it only injects information about available subagents. The system prompt is entirely yours. This means you can steer your agent's behavior however you want, and fine-tune preconfigs for different models since they respond to different wording styles.
File formats
Markdown (recommended)
The file name becomes the preconfig ID. For example, ~/.jean2/preconfigs/my-agent.md:
---
name: My Agent
description: A custom agent for my workflow
tools:
- read-file
- write-file
- shell
- grep
- glob
model: gpt-5.4
provider: codex
variant: medium
settings:
temperature: 0.3
mode: primary
canSpawnSubagents:
- explore
- code-planning
skills:
- code-review
isDefault: false
---
You are a specialized assistant for my project.
Follow these rules:
- Always read files before modifying them
- Test your changes after each step
- Ask before running destructive commands
The markdown body below the frontmatter is the system prompt.
JSON
Same preconfig as a JSON file (~/.jean2/preconfigs/my-agent.json):
{
"id": "my-agent",
"name": "My Agent",
"description": "A custom agent for my workflow",
"tools": ["read-file", "write-file", "shell", "grep", "glob"],
"model": "gpt-5.4",
"provider": "codex",
"variant": "medium",
"systemPrompt": "You are a specialized assistant for my project.\n\nFollow these rules:\n- Always read files before modifying them\n- Test your changes after each step\n- Ask before running destructive commands",
"settings": { "temperature": 0.3 },
"mode": "primary",
"canSpawnSubagents": ["explore", "code-planning"],
"skills": ["code-review"],
"isDefault": false
}
Schema
| Field | Description |
|---|---|
id |
Unique identifier. For markdown files, derived from the filename. Required in JSON. |
name |
Display name in the preconfig picker |
description |
What this agent is for |
systemPrompt |
The system prompt. In markdown format, this is the file body. In JSON, a string field. Jean2 does not prepend any hidden system message — this is your full prompt, only augmented with available subagent information. |
tools |
List of tools the agent can use. null means all available tools. |
model |
Model ID to use. Falls back to the default in models.json. |
provider |
Provider ID to use. Falls back to the default in models.json. |
variant |
Model variant to use (e.g. high for high reasoning effort) |
settings |
Overrides passed to the LLM — e.g. { "temperature": 0.2 } |
mode |
primary (user-facing), subagent (Task tool only), or both. Default: primary. |
canSpawnSubagents |
Controls which subagents this preconfig can spawn. true (or omitted) = all available. false or null = none. A list like ["explore", "code-planning"] = only those specific subagent IDs. |
skills |
Controls which skills this preconfig can access. Omitted or null = all available. [] = none. A list like ["code-review", "deploy"] = only those named skills. |
isDefault |
Whether this preconfig is loaded for new sessions. |
Modes
| Mode | Where it appears |
|---|---|
primary |
In the preconfig picker when creating or switching sessions |
subagent |
Only available when another agent delegates via the Task tool |
both |
Available everywhere |
Default preconfigs
These are created by jean2 init in ~/.jean2/preconfigs/:
General
Read-only research and multi-step task execution. Can spawn subagents.
- Tools: read-file, glob, grep, ls, webfetch
- Mode: primary
- Temperature: 0.3
Code
Full code editing — read, write, edit, patch, and shell access. Can spawn subagents.
- Tools: read-file, write-file, edit, multiedit, apply-patch, glob, grep, ls, webfetch, shell, todoread, todowrite
- Mode: primary
- Temperature: 0.2
Code Planning
Planning-focused — analyzes codebases and designs solutions without editing code. Can spawn subagents.
- Tools: read-file, write-file, glob, grep, ls, webfetch
- Mode: primary
- Temperature: 0.3
Explore
Fast codebase search and file discovery. Read-only, cannot spawn subagents. Only available as a subagent — it doesn't appear in the preconfig picker.
- Tools: read-file, glob, grep, ls, webfetch
- Mode: subagent
- Temperature: 0.2
Creating custom preconfigs
Add a markdown or JSON file to ~/.jean2/preconfigs/. It will appear in the preconfig picker on the next page load.
You can also create preconfigs through the REST API or the desktop client.
Applying changes
No restart needed for preconfig edits — the server reloads them on the next session creation or preconfig switch.