Session title style — choose how titles are written
Omniscio names a new session by asking a small AI model to summarise your first message. Title Style lets you choose how that title is written — five built-in presets (Brief, Descriptive, Journey, Latest Topic, Custom), a global or per-project override, and extra instructions you can append. Two of the presets refresh the title as the conversation moves on.
What it is
Omniscio names a new session by asking a small AI model to summarise your first message. Title Style gives you control over how that title is written, with five built-in presets and the option to write your own prompt.
Where to find it
Title Style has no screen of its own — you reach it inside Settings. Open Settings and go to the Sessions page, where you will find the title style preset, a box for extra title instructions, and, under the advanced per-feature models, the choice of which AI model writes and refreshes titles. The preset control only appears when session naming is set to an AI-generated title.
Each project can override the global choice: right-click a project in the sidebar, choose Edit Project, and set that project's own title style preset or its own extra instructions. A project left to inherit the global choice follows whatever the global setting says.
The presets also appear inline on the Lab page, just below the session title styles toggle, when that feature is enabled.
How it behaves
Title style presets
| Style | What it does | Auto-refreshes? |
|---|---|---|
| Brief | 2-4 word verb + noun pattern (e.g. "Fix Auth Bug") | No |
| Descriptive | Full context title, up to 80 characters (default) | No |
| Journey | Topic trail with arrows showing progression (e.g. "Auth > Tokens > Caching") | Yes |
| Latest Topic | Always reflects the current conversation focus | Yes |
| Custom | Your own prompt, with optional refresh | Configurable |
Set the global preset in Settings > Sessions > Title Style Preset. The preset only appears when Session Naming is set to AI-generated title. The presets also appear inline on the Lab page directly below the Session Title Styles toggle when the feature is enabled.
Auto-refresh (Journey and Latest Topic)
Journey and Latest Topic styles automatically update the title as your conversation evolves, so the title stays relevant even when the topic drifts.
Refresh triggers at natural breakpoints:
- Context compaction — when the conversation is summarised to free up context
- Idle-then-resume — when a session sits idle for 5+ minutes then resumes
The refresh uses a two-step process to keep costs low:
- A cheap staleness check (a fast, low-cost model by default) asks whether the title still fits
- Only if the title is stale does a full re-title run (the same fast, low-cost model by default)
Manual renames are always protected — if you rename a session by hand, auto-refresh will never overwrite your choice.
Custom prompt
When you select Custom, a text box appears where you can write your own title instructions. You can also toggle Auto-refresh on or off for custom prompts.
Examples that work well:
Always start with the client name, then a dash, then the task.Use Traditional Chinese.Keep it to four words or fewer. Prefer nouns over verbs.
Per-project override
Each project can override the global title style preset:
| Level | Where | Applies to |
|---|---|---|
| Global | Settings > Sessions > Title Style Preset | every project |
| Per-project | right-click a project > Edit Project > Title style preset | that project only |
A project set to "Inherit global" follows whatever the global setting is.
Extra title instructions (append prompt)
In addition to the preset, you can write free-form instructions that are appended to whatever preset is active. Two levels, and they stack:
| Level | Where | Applies to |
|---|---|---|
| Global | Settings > Sessions > Title Style | every project |
| Per-project | right-click a project > Edit Project > Title style for this project | that project only |
If you set both, the global text is read first and the project text second, so a project can refine or override what the global one says.
What your instructions can and cannot do
Your text is added on top of Omniscio's built-in title instructions, not in place of them. Five rules always win, however you phrase your preference:
- Titles stay at or under the style's character ceiling (40 for Brief, 80 for all others). A longer title is thrown away, so asking for "lots of detail" gets you no title rather than a long one.
- Secrets, tokens, email addresses, IP addresses and full file paths are removed.
- Your typing slips are corrected — see below.
- A message with nothing to title still comes out as
Untitled Session. - The title stays one line of plain text.
Your typos do not end up in the title
A title is generated from your first message, so a typo you made while typing that message used to be copied straight into it — and then followed the work around for weeks, in the sidebar, in the worktree list, and in the daily check-up card.
Titles are now spell-corrected as they are written. A missing space (toget becomes
to get), a misplaced one (deeps eekworking becomes DeepSeek working), a missing
apostrophe — all fixed. Only the spelling changes: the task itself is never reworded,
so the title still says what you said.
If the AI namer cannot be reached, Omniscio falls back to naming the session from
your own words without asking a model. That fallback has no spell-checker, so it fixes
only the mechanical damage it can be certain about — a run-together word, an apostrophe
typed as a hyphen, a stray # — and leaves an ordinary misspelling alone rather than
guessing at it. A title made this way is also cut to the first few words, so it can read
as a fragment.
Model configuration
In Settings > Sessions > Per-Feature Models (advanced), you can choose which AI model handles each step:
- Initial title model — the model that generates the first title from your opening message. Automatic uses a fast, low-cost model, and names the session on your own machine when the on-device title model is available.
- Title refresh model — the model that checks staleness and refreshes titles for Journey, Latest Topic, and Custom (with refresh on). Automatic uses a fast, low-cost model.
Cost
- Initial title: same cost as before — one cheap model call per new session.
- Refresh: two calls per refresh event (staleness check + re-title), but only when the title is actually stale. The staleness check uses the same fast, low-cost model (very cheap) and the full re-title uses it too. Both are capped under the same daily cost limit as regular title generation.
- Brief/Descriptive: no additional cost — they title once, same as before.
Leaving it blank changes nothing
Both the preset (Descriptive) and the append prompt (empty) are the defaults, and those defaults are genuinely inert — Omniscio takes exactly the same code path it always did. You have to change the preset or type something for anything to change.
For agents
Where it lives
- Prompts:
src/shared/types/session-title-prompt.ts(style templates + compose; every style carries the same "fix the user's typing slips" rule) - No-AI fallback:
src/shared/derive-local-title.ts, which repairs mechanical damage viasrc/shared/tidy-title.tsbefore it counts words or applies Title Case - Resolve:
src/main/services/session/session-title-prompt.ts(style + prompt resolution) - Refresh:
src/main/services/session/title-refresh-service.ts(push-bus triggers) - AI calls:
src/main/services/ai/ai-title-generation.ts(staleness check + refresh) - Manual protection:
title_manually_setcolumn on sessions table - Applied at all three title-gen call sites in
src/main/ipc/title-orchestrator.ts - Contract:
.claude/memory/contracts/session-title-style-contract.md
Related
- review-session-titles.md — where the titles these presets produce are reviewed and renamed.
- session-auto-color.md — the sibling session-appearance control, colouring sessions by rule.
- session-menu-customization.md — the other per-session appearance control in the same settings area.
Last verified 2026-09-30