.devcontainer
.github
aws
bedrock
config
examples
googlecloud
internal
lib
mcp
option
packages
scripts
shared
toolrunner
tools
vertex
.gitignore
.release-please-manifest.json
.stats.yml
aliases.go
api.md
beta.go
betaagent_test.go
betaagent.go
betaagentversion_test.go
betaagentversion.go
betadeployment_test.go
betadeployment.go
betadeploymentrun_test.go
betadeploymentrun.go
betadream_test.go
betadream.go
betaenvironment_test.go
betaenvironment.go
betaenvironmentwork_test.go
betaenvironmentwork.go
betafile_test.go
betafile.go
betamemorystore_test.go
betamemorystore.go
betamemorystorememory_test.go
betamemorystorememory.go
betamemorystorememoryversion_test.go
betamemorystorememoryversion.go
betamessage_test.go
betamessage.go
betamessagebatch_test.go
betamessagebatch.go
betamessageutil_test.go
betamessageutil.go
betamodel_test.go
betamodel.go
betaparse_test.go
betaparse.go
betasession_test.go
betasession.go
betasessionevent_test.go
betasessionevent.go
betasessionresource_test.go
betasessionresource.go
betasessionthread_test.go
betasessionthread.go
betasessionthreadevent_test.go
betasessionthreadevent.go
betasessiontoolrunner_test.go
betasessiontoolrunner.go
betasessionutil_test.go
betasessionutil.go
betaskill_test.go
betaskill.go
betaskillversion_test.go
betaskillversion.go
betatoolrunner_test.go
betatoolrunner.go
betatunnel_test.go
betatunnel.go
betatunnelcertificate_test.go
betatunnelcertificate.go
betauserprofile_test.go
betauserprofile.go
betavault_test.go
betavault.go
betavaultcredential_test.go
betavaultcredential.go
betawebhook_test.go
betawebhook.go
Brewfile
CHANGELOG.md
client_test.go
client.go
completion_test.go
completion.go
CONTRIBUTING.md
default_http_client.go
error_type_test.go
field.go
go.mod
go.sum
LICENSE
message_test.go
message.go
messagebatch_test.go
messagebatch.go
messageutil_test.go
messageutil.go
model_test.go
model.go
paginationauto_test.go
paginationmanual_test.go
paramunmarshal_test.go
README.md
release-please-config.json
schemautil_test.go
schemautil.go
SECURITY.md
thinking_warn.go
tools.md
unmarshalcompat.go
usage_test.go
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/anthropic-sdk-go@v1.62.0'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.ModelClaudeOpus4_6,
})
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.