github plastic-labs/honcho v3.2.1

3 hours ago

Honcho API 3.2.1

Added

  • Chat evidence conclusions carry observer_id and observed_id, matching the Conclusions response. Workspace chat reads across every peer into one evidence list, so each row now says which pair it belongs to without re-fetching it (#1193)
  • thinking_tool_choice_conflict provider param for Anthropic model configs, which decides what happens when extended thinking meets a forced tool choice (Anthropic rejects the combination): throw (default, raises a validation error before the request is sent), override_thinking (drops thinking for that call), or override_tool (relaxes the tool choice to auto). Set it per model config, e.g. DIALECTIC_LEVELS__medium__MODEL_CONFIG__OVERRIDES__PROVIDER_PARAMS__THINKING_TOOL_CHOICE_CONFLICT=override_thinking (#1211)

Changed

  • source_ids is [] rather than null for explicit conclusions on the Conclusions response, matching chat evidence. Clients that checked for null should check for an empty list (#1193)
  • Workspace chat keeps its forced tool choice until a recall tool runs cleanly, capped at 3 forced rounds, so an answer always rests on at least one search instead of the prefetched overview. A tool that returns an error does not count. get_workspace_stats is removed from the workspace toolset, since the prefetch already supplies the same overview (#1210)
  • The deriver wraps each batch message in a tag carrying its peer and whether it is a target, and derives only from target messages, instead of relying on the model to match a name prefix. Message content that imitates the tag is escaped so it cannot claim target attribution (#1192)
  • Smaller runtime footprint: the Docker image drops from 627MB to 426MB. PDF extraction uses pypdf instead of pdfplumber, provider SDKs import only for the configured backend, and scikit-learn moves behind a new optional surprisal extra. Self-hosted deployments that enable DREAM.SURPRISAL.ENABLED with an sklearn-backed tree type need the extra; rptree, covertree, and lsh still work without it (#1201)

Fixed

  • Chat with include_evidence no longer fails with "Instance is not bound to a Session" when evidence is read after its DB session closes (#1212)
  • On Redis Cluster, each process releases the idle connection its startup PING leaves on the default node. Every client picks the same slot-0 primary, so these sockets piled up there (92% of that node's connections in one observed cluster) and could hit maxclients, which stops every new client from initialising (#1198)
  • Dreamer tools return an actionable error for malformed arguments (a string instead of a list, non-object items) instead of raising a TypeError mid-loop. Valid sibling observations in the same call still land (#1217)
  • Deleting a session no longer loads the content of every embedding chunk to rebuild vector IDs; chunk counts are aggregated in SQL (#1206)

Python SDK 2.5.1 (honcho-ai)

Added

  • observer_id and observed_id on EvidenceObservation, so evidence from workspace chat says which peer pair each conclusion belongs to. Previously the SDK dropped these fields. Requires Honcho v3.2.1+ (#1220)

Changed

  • Conclusion.source_ids is [] rather than None for explicit conclusions when talking to Honcho v3.2.1+. The type still admits None for older servers (#1193)

TypeScript SDK 2.5.1 (@honcho-ai/sdk)

Added

  • observer_id and observed_id on EvidenceObservation, so evidence from workspace chat says which peer pair each conclusion belongs to. Requires Honcho v3.2.1+ (#1193)

Changed

  • Conclusion.sourceIds is [] rather than null for explicit conclusions when talking to Honcho v3.2.1+. The type still admits null for older servers (#1193)

MCP server 3.0.1

Added

  • list_peers takes page, size (max 100) and reverse, so a client can
    walk past the first page of peers.
  • Every tool carries MCP annotations: a title, and readOnlyHint or
    destructiveHint, so hosts can label tools and tell reads from writes.

Changed

  • The server instructions describe two modes. Recall mode only reads
    (chat, workspace_chat, search, and the other read tools) and is the
    default. Memory-store mode sets up sessions and records messages, and agents
    are told to use it only when the user asks for the conversation to be
    recorded. The per-tool listings are gone, since tool descriptions already
    carry them.

Fixed

  • chat and workspace_chat no longer fail when the answer takes more than
    10 seconds on the HTTP host (Bun's idle timeout dropped the connection) or
    more than 60 seconds on any host (the SDK timed out and retried the chat).
    Honcho API requests now time out after 5 minutes, configurable with
    HONCHO_TIMEOUT_MS.

Don't miss a new honcho release

NewReleases is sending notifications on new releases.