Claude SDK for Go
The Claude SDK for Go provides access to the Claude API from Go applications.
Documentation
Full documentation is available at platform.claude.com/docs/en/api/sdks/go.
Installation
import (
"github.com/anthropics/anthropic-sdk-go" // imported as anthropic
)
Or explicitly add the dependency:
go get -u 'github.com/anthropics/[email protected]'
Getting started
package main
import (
"context"
"fmt"
"github.com/anthropics/anthropic-sdk-go"
"github.com/anthropics/anthropic-sdk-go/option"
)
func main() {
client := anthropic.NewClient(
option.WithAPIKey("my-anthropic-api-key"), // defaults to os.LookupEnv("ANTHROPIC_API_KEY")
)
message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
MaxTokens: 1024,
Messages: []anthropic.MessageParam{
anthropic.NewUserMessage(anthropic.NewTextBlock("What is a quaternion?")),
},
Model: anthropic.ModelClaudeOpus5_5,
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", message.Content)
}
Requirements
Go 1.24+
Contributing
See CONTRIBUTING.md.
License
This project is licensed under the MIT License. See the LICENSE file for details.