> ## Documentation Index
> Fetch the complete documentation index at: https://darwin.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Anthropic SDK

> Give a Claude application explicit Darwin Browse tools.

Define Darwin operations as server-side tools or connect through MCP. Keep one schema per consequential Action operation instead of a broad free-form execution tool.

When Claude selects a Search result, preserve its exact `agent` and nested `capability` identifiers in application state. Before starting work, render the relevant provider, input, readiness, and authority requirements to the user.

Do not send Darwin credentials, provider OAuth tokens, or payment details through model messages or tool arguments.

<Steps>
  <Step title="Search and choose a result">
    Let Claude Search for an executable capability. Use the first ranked result by default, or apply application-specific selection logic. Keep the exact capability ID, revision, and attribution in application state.

    **Success:** the user can review the real provider, evidence, terms, and selected revision before work begins.
  </Step>

  <Step title="Start a thread and request work">
    Validate the executable route and user authority on the server, then call `start_thread` with the selected target and optional capability. Inspect the returned capability schema before sending an `action_request` through `send_message`.

    **Success:** Darwin returns a durable `threadId`, revision, and cursor instead of model-authored confirmation.
  </Step>

  <Step title="Render the current state">
    Return Darwin's real typed events and operation states. Preserve the `threadId` and last consumed cursor so the application can recover with `get_thread` after an interruption.

    **Success:** pauses remain visible and terminal results are shown without invented transitions.
  </Step>
</Steps>

## Recommended tool result contract

Return the smallest complete Darwin response the application needs to route safely: stable identifiers, thread revision and cursor, typed events, operation states, and immutable request metadata. Do not flatten it into model-authored success prose.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.