Files
Dmytro Struk 1c0ae4b659 Python: Added Shell tool (#4339)
* Added shell tool

* Fixed CI error

* Add ShellTool support for OpenAI and Anthropic providers

- Add shell_tool_call, shell_tool_result, and shell_command_output content types
- Add ShellTool class and shell_tool decorator to core
- Add get_hosted_shell_tool() to OpenAI Responses client
- Handle shell_call and shell_call_output parsing in OpenAI (sync and streaming)
- Map ShellTool to Anthropic bash tool API format
- Parse bash_code_execution_tool_result as shell_tool_result in Anthropic
- Add unit tests for all new functionality
- Add sample scripts for hosted and local shell execution

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Addressed comments

* Reverted ruff change

* Fixed tests

* Addressed comments

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1c0ae4b659 ยท 2026-03-03 16:22:15 +00:00
History
..

Anthropic Examples

This folder contains examples demonstrating how to use Anthropic's Claude models with the Agent Framework.

Anthropic Client Examples

File Description
anthropic_basic.py Demonstrates how to setup a simple agent using the AnthropicClient, with both streaming and non-streaming responses.
anthropic_advanced.py Shows advanced usage of the AnthropicClient, including hosted tools and thinking.
anthropic_skills.py Illustrates how to use Anthropic-managed Skills with an agent, including the Code Interpreter tool and file generation and saving.
anthropic_foundry.py Example of using Foundry's Anthropic integration with the Agent Framework.

Claude Agent Examples

File Description
anthropic_claude_basic.py Basic usage of ClaudeAgent with streaming, non-streaming, and custom tools.
anthropic_claude_with_tools.py Using built-in tools (Read, Glob, Grep, etc.).
anthropic_claude_with_shell.py Shell command execution with interactive permission handling.
anthropic_claude_with_multiple_permissions.py Combining multiple tools (Bash, Read, Write) with permission prompts.
anthropic_claude_with_url.py Fetching and processing web content with WebFetch.
anthropic_claude_with_mcp.py Local (stdio) and remote (HTTP) MCP server configuration.
anthropic_claude_with_session.py Session management, persistence, and resumption.

Environment Variables

Anthropic Client

  • ANTHROPIC_API_KEY: Your Anthropic API key (get one from Anthropic Console)
  • ANTHROPIC_CHAT_MODEL_ID: The Claude model to use (e.g., claude-haiku-4-5, claude-sonnet-4-5-20250929)

Foundry

  • ANTHROPIC_FOUNDRY_API_KEY: Your Foundry Anthropic API key
  • ANTHROPIC_FOUNDRY_ENDPOINT: The endpoint URL for your Foundry Anthropic resource
  • ANTHROPIC_CHAT_MODEL_ID: The Claude model to use in Foundry (e.g., claude-haiku-4-5)

Claude Agent

  • CLAUDE_AGENT_CLI_PATH: Path to the Claude Code CLI executable
  • CLAUDE_AGENT_MODEL: Model to use (sonnet, opus, haiku)
  • CLAUDE_AGENT_CWD: Working directory for Claude CLI
  • CLAUDE_AGENT_PERMISSION_MODE: Permission mode (default, acceptEdits, plan, bypassPermissions)
  • CLAUDE_AGENT_MAX_TURNS: Maximum number of conversation turns
  • CLAUDE_AGENT_MAX_BUDGET_USD: Maximum budget in USD