You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
- Add 8 missing hook event constants, 13 new message types, and
supporting structs (`ToolProgressMessage`, `TaskMessage`)
- Add per-model usage breakdown (`ModelUsage`, `ModelUsages`) and
`WebSearchRequests` to `Usage`
- Add `RewindFiles`, query/introspection methods (`SupportedModels`,
`SupportedCommands`, `SupportedAgents`, `AccountInfo`), `StopTask`, and
runtime MCP management (`ReconnectMcpServer`, `ToggleMcpServer`,
`SetMcpServers`) to `Stream` and `Session`
- Add `NewTool[In, Out]` generic helper, `ToolServer`, and `WithTools`
convenience option for easy MCP tool definition
- Add `ListSessions` and `GetSessionMessages` top-level functions for
session history
- Add `ResumeSessionAt`, `PromptSuggestions`, and `ElicitationHandler`
options with elicitation handling in the control request loop
- Add `Transport` interface as a preparatory abstraction for future
alternative transports
- Fix `WithCWD` to set `PWD` env var matching Python SDK behaviour
(closes#5)
- Bump SDK version to 0.3.0
## Test plan
- [x] `go build ./...` compiles cleanly
- [x] `go vet ./...` passes with no issues
- [ ] Verify new `WithXxx` options follow existing patterns
- [ ] Verify new `Stream` methods follow `sendControlRequest` pattern
- [ ] Verify all new `Session` methods delegate to `Stream`
- [ ] Test `NewTool` compiles with MCP SDK's `mcp.AddTool` generic
signature
Closes#4, closes#5
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: VibeXP Bot <bot@vibexp.io>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Thank you for your interest in contributing to Claude Agent SDK Go! We welcome contributions from everyone — whether you are a human developer or an AI agent.
4
+
5
+
Regardless of the source, all contributions go through the same review process and must meet the same quality standards. We maintain strict coding standards, automated checks, and thorough reviews to keep the codebase clean, reliable, and maintainable.
6
+
7
+
## Ways to Contribute
8
+
9
+
-**Report bugs** — Open a GitHub issue describing the problem, steps to reproduce, and expected behavior.
10
+
-**Request features** — Open a GitHub issue describing the feature, the motivation behind it, and any ideas for implementation.
11
+
-**Propose ideas** — Start a discussion via a GitHub issue to gather community feedback before diving into code.
**Every pull request must be linked to a GitHub issue.**
17
+
18
+
Opening an issue first gives the community the opportunity to discuss the problem or feature, provide feedback on the approach, and ensure visibility into the work being planned. Pull requests created without a corresponding issue may be closed.
19
+
20
+
1. Search existing issues to avoid duplicates.
21
+
2. Open a new issue if none exists.
22
+
3. Wait for acknowledgment or feedback before starting significant work.
23
+
4. Reference the issue in your pull request (e.g., `Fixes #42` or `Closes #42`).
24
+
25
+
## Development Setup
26
+
27
+
### Prerequisites
28
+
29
+
- Go 1.24+
30
+
31
+
### Running Tests
32
+
33
+
```bash
34
+
go test ./...
35
+
```
36
+
37
+
### Running Linters
38
+
39
+
```bash
40
+
golangci-lint run ./...
41
+
```
42
+
43
+
## Pull Request Guidelines
44
+
45
+
### Before Submitting
46
+
47
+
-[ ] Your PR is linked to a GitHub issue.
48
+
-[ ] All tests pass (`go test ./...`).
49
+
-[ ] Go linting passes.
50
+
-[ ] You have checked whether your changes require a documentation update — if so, include the documentation changes in the same PR.
51
+
52
+
### Code Quality Standards
53
+
54
+
- Write clean, readable code that follows existing patterns in the codebase.
55
+
- Keep changes focused — one issue per pull request.
56
+
- Add tests for new functionality and bug fixes.
57
+
- Do not introduce security vulnerabilities (see OWASP top 10).
58
+
- Avoid over-engineering — solve the problem at hand without unnecessary abstractions.
59
+
60
+
### Documentation
61
+
62
+
Check whether your changes require documentation updates. This includes:
63
+
64
+
- Changes to API behavior
65
+
- New features or configuration options
66
+
- Changes to the development setup or build process
67
+
- Architecture changes
68
+
69
+
Include documentation updates in the same pull request as the code changes.
70
+
71
+
### Commit Messages
72
+
73
+
Write clear, descriptive commit messages. Use the imperative mood (e.g., "Add streaming support" not "Added streaming").
74
+
75
+
## For AI Agent Contributors
76
+
77
+
AI-generated contributions are welcome and go through the same process as human contributions:
78
+
79
+
1. An issue must exist before a pull request is created.
80
+
2. All automated checks (linting, tests) must pass.
81
+
3. Code must meet the same quality and security standards.
82
+
4. Pull requests are reviewed with the same rigor.
83
+
84
+
## License
85
+
86
+
By contributing to Claude Agent SDK Go, you agree that your contributions will be licensed under the [MIT License](LICENSE).
0 commit comments