github craft-ai-agents/craft-agents-oss v0.15.2

3 hours ago

Features

  • Configurable new-chat starters — Settings → AI now has a Chat Starters section where you can define up to three custom prompts that appear when you open a new chat, replacing the auto-generated suggestions. Each starter has a short label shown on the chip and a full prompt sent when you click it; prompts support [source:slug] and [skill:slug] mentions. Leave the section empty to keep the auto-generated ones. Addresses #1095.

  • Compaction window and subagent model — Settings → AI → Performance gets two new controls. The compaction threshold sets when Claude summarises the conversation: model default leaves the window at ~1M tokens (same as before), or pick 200K, 400K (recommended), 600K or a custom size from 100K to 1M. Smaller windows cut re-read costs in long sessions — in one day of sessions a 400K window reduced Claude costs by about 12% after paying for compactions. The subagent model setting runs general-purpose subagents on Sonnet or Haiku when they would otherwise inherit the session's model (typically Opus). Both settings apply to new and restarted sessions; subagents inherit the compaction window from their parent.

Improvements

  • Subagents stay narrow — Claude's system prompt now tells subagents to ask one narrow question, pass context in the prompt, do ranged reads, and return a short result or write to a file. In one day of sessions, deep-read agents were growing to 250–510K tokens each and made up half of all Claude usage; narrowing them brings each agent down to what it actually needs.

  • Adaptive thinking less aggressive when uncertain — When the decision model is unsure about the right thinking level (confidence below 0.6), turns are now capped at high unless the hard-problem rating is also elevated. Previously an uncertain rating kept max thinking, which covered 46% of rated turns. The new rule applies to 74% of those cases; turns lowered to high were mis-rated about as often as turns left at max.

Bug Fixes

  • All direct Anthropic API sessions failed — Every session using a direct Anthropic API key was rejected on the first call with "tools.0.custom: additionalProperties must be explicitly set to false". The network interceptor was removing additionalProperties: false from tool schemas; Anthropic now requires it. Fixes #1096.

  • Session costs wildly overstated — Claude session costs and token counts compounded across turns: the SDK returns cumulative totals for the session, and each turn was adding the whole running total again instead of just the delta. A 29-turn session showed $578 for $62 of actual usage at list prices. Output tokens also left out subagent usage (50K counted versus 558K actual in one session). Pi sessions had the opposite problem: only the last API call of a turn was counted instead of all of them. Both backends now report correctly.

  • Branched sessions double-counted the parent's cost — Forking a session attached the parent's entire accumulated cost to the first turn of the branch, as if the branch had generated it. Fixed by starting the branch's running totals from the parent's at fork time.

  • Custom agents ran on the wrong model — Setting a subagent model (e.g. Sonnet) in Settings incorrectly overrode agents that define their own model in .claude/agents/*.md or in an Agent tool call. General-purpose agents that inherit the session's model now get the setting; agents with their own model: keep it.

  • Chat info panel didn't scroll — The session-info popover in the top-right of the chat view showed a fixed-height box when its content exceeded the height of the panel. It now scrolls. Fixes #1091.

Don't miss a new craft-agents-oss release

NewReleases is sending notifications on new releases.