Skip to content

Conversations ​

Queueing and interrupts while a turn runs, composer suggestions, context compaction, and custom commands.

Queue and interrupts ​

FieldDescriptionDefault
MaxSessionQueueSizeMaximum queued requests per session; 0 means unlimited3
InstantInterruptEnabledRestart the current model request with a mid-turn message that arrives before the request produces output or while it waits to retrytrue
AgentInterruptMessageEnabledTell the model when a turn is intentionally interrupted, including an active-turn forktrue

Suggestions ​

FieldDescriptionDefault
WelcomeSuggestions.EnabledGenerates welcome-screen suggestions from workspace memory and applied Dreams. Requires Memory.Enabledtrue
PromptSuggestions.EnabledSuggests one next message in an empty conversation composer after a completed turn. Independent of workspace memorytrue

Both settings can be changed in Settings → Personalization. A prompt suggestion remains editable and is sent only when the user submits it.

Compaction ​

FieldDescriptionDefault
Compaction.AutoCompactEnabledEnables threshold-based auto compactiontrue
Compaction.ReactiveCompactEnabledEnables reactive compaction for prompt_too_long errorstrue
Compaction.MaxContextWindowClient context budget in tokens. -1 uses the model catalog window; a positive value caps it-1
Compaction.SummaryReserveTokensTokens reserved for summary output20000
Compaction.SummaryMaxOutputTokensMaximum output tokens for a compaction summary request12000
Compaction.AutoCompactBufferTokensToken buffer below the hard limit that triggers auto compaction13000
Compaction.PostTurnCompactThresholdPercentPercentage of the effective context window that also triggers compaction at the end of a Turn; 0 disables it0
Compaction.WarningBufferTokensToken buffer before auto threshold that emits warning20000
Compaction.ErrorBufferTokensToken buffer before auto threshold that emits error10000
Compaction.ManualCompactBufferTokensHeadroom below the effective context window used for the reported context-pressure limit3000
Compaction.KeepRecentMinTokensMinimum recent tail tokens after partial summary10000
Compaction.KeepRecentMinGroupsMinimum recent API groups after partial summary3
Compaction.KeepRecentMaxTokensMaximum recent tail tokens after partial summary40000
Compaction.MicrocompactEnabledEnables micro-compactiontrue
Compaction.MicrocompactKeepRecentRecent tool results kept during micro-compaction8
Compaction.MicrocompactGapMinutesAlso triggers after this many minutes since last assistant message; 0 disables it20
Compaction.MaxConsecutiveFailuresConsecutive failures before circuit breaking compaction3

Set the context budget in global or workspace config.json. For example, limit the client to 256K tokens:

json
{
  "Compaction": {
    "MaxContextWindow": 256000
  }
}

Omitting the setting uses the model catalog window. Workspace settings override global settings; set MaxContextWindow to -1 in the workspace to clear an inherited limit. The budget cannot increase model capacity. Summary reserves and safety buffers are deducted afterward, so this value is not the exact automatic-compaction trigger. Reasoning effort does not change the budget.

A model's context window comes from the model capability catalog.

Custom commands ​

Custom commands are Markdown files rather than a config.json field. DotCraft loads them from the global ~/.craft/commands/ directory and the workspace .craft/commands/ directory, and a workspace file wins a name collision. Each file becomes a /name command usable from the CLI, Desktop, and other entry points.

A command file may open with YAML frontmatter, which is stripped before the body is sent. Inside the body, $ARGUMENTS expands to the full argument string and $1 through $9 expand to positional arguments.