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

# Chat

> Send messages and get responses from any model

The core of the Dedalus SDK: send a message, get a response. Works with any model from any provider.

## Start with chat

<CodeGroup>
  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import asyncio
  from dedalus_labs import AsyncDedalus, DedalusRunner
  from dotenv import load_dotenv

  load_dotenv()

  async def main():
      client = AsyncDedalus()
      runner = DedalusRunner(client)

      response = await runner.run(
          input=(
              "I want to find the nearest basketball games in January in San Francisco.\n\n"
              "For now, do NOT make up events. Instead:\n"
              "1) Ask any clarifying questions you need.\n"
              "2) Propose a short plan for how you would find events.\n"
              "3) List the fields you'd extract for each event (for a table later)."
          ),
          model="anthropic/claude-opus-4-5",
      )

      print(response.final_output)

  if __name__ == "__main__":
      asyncio.run(main())
  ```

  ```typescript TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import Dedalus from "dedalus-labs";
  import { DedalusRunner } from "dedalus-labs";

  const client = new Dedalus();
  const runner = new DedalusRunner(client);

  async function main() {
  	const response = await runner.run({
  		input:
  			"I want to find the nearest basketball games in January in San Francisco.\n\n" +
  			"For now, do NOT make up events. Instead:\n" +
  			"1) Ask any clarifying questions you need.\n" +
  			"2) Propose a short plan for how you would find events.\n" +
  			"3) List the fields you'd extract for each event (for a table later).",
  		model: "anthropic/claude-opus-4-5",
  	});

  	console.log(response.finalOutput);
  }

  main();
  ```
</CodeGroup>

## Next steps

* **Add actions**: [Tools](/sdk/tools) — Let the model call your functions
* **Route across models**: [Handoffs](/sdk/handoffs) — Route to different models by phase
* **Stream the workflow**: [Streaming](/sdk/streaming) — Show progress in real time

<Tip>
  [Connect these docs programmatically](/contextual/use-these-docs) to Claude, VSCode, and more via
  MCP for real-time answers.
</Tip>
