Skip to content

Blog

The Coda Packs SDK is now the Superhuman Packs SDK

The Coda Packs SDK has a new name: the Superhuman Packs SDK. It started out as the way to extend Coda, but over the past year it's grown into something bigger. It's also how you build agents for Superhuman Go, and going forward it will be the integration layer for everything we're building across Superhuman. The new name reflects what the SDK has already become.

What's changing

The most visible change is the one you're already looking at. The site has a new name, a new icon, and a new color palette to match the broader Superhuman brand.

You'll also notice that new code examples in our documentation import the library as sdk rather than coda:

import * as sdk from "@codahq/packs-sdk";

export const pack = sdk.newPack();

This is just a local alias, so your existing code that imports it as coda will continue to work without any changes. There's nothing to migrate, but if you do want to switch to match the new style, it's a simple find-and-replace.

What's not changing

Packs for Coda are alive and well. You can keep building them, publishing them, and shipping updates with the same workflow you've always used. All your existing Packs continue to run unchanged.

You'll also see the old name stick around in a few places. The npm package is still published as @codahq/packs-sdk, the source still lives at coda/packs-sdk on GitHub. Renaming these artifacts isn't as straightforward, so they'll likely keep the old branding for some time.

Dynamic Client Registration is now supported

The SDK now supports Dynamic Client Registration (DCR) for OAuth2 authentication. With DCR, the platform automatically discovers OAuth endpoints and registers client credentials with the provider, so you no longer need to manually create an application in a developer console or upload a client ID and secret.

This is especially useful when connecting to MCP servers, many of which support DCR out of the box. Enabling it is as simple as setting a single flag:

pack.setUserAuthentication({
  type: sdk.AuthenticationType.OAuth2,
  useDynamicClientRegistration: true,
  useProofKeyForCodeExchange: true,
  scopes: ["read", "write"],
});

For more details, including how to combine DCR with manually specified endpoints, see the OAuth2 authentication guide and the MCP guide.

The default LLM model is now GPT5

As of February 12, 2026, the default LLM model used by Superhuman Go agents has been updated from OpenAI's GPT-4 to GPT-5. This update brings improved reasoning and performance across agents.

If you have an agent deployed on the platform, we recommend running a quick validation to ensure everything continues to work as expected. If you would like to revert back to GPT-4, you can do so by setting the models field on your skills:

pack.addSkill({
  // ...
  models: [
    { model: sdk.SkillModel.OpenAIGPT4 },
  ],
});

You can read more about model selection in the Skills guide. We aim to provide advance notice for model updates whenever possible and we'll continue sharing updates as the Go platform evolves.

Seven new SDK features for building better agents

Since the initial launch of Superhuman Go in late October, we've been busy improving the platform, including adding new features for agent developers. Here's a quick rundown of what's new:

  • MCP support - We've turned the agent platform into an MCP client, allowing your agent to use the tools exposed by an MCP server. This makes it possible to build the initial version of your agent in only a few lines of code.
  • Bench initialization - While the name of this feature is a mouthful, the idea is simple: allow the agent to start working as soon as the user has clicked on its icon in the bench. A bench initialization skill can kick off the most common user flow, show help text, or just say hi!
  • Agent logs - Developers can see detailed logs for each interaction with an agent they create, to enable better debugging.
  • Parameter validation - For agents indexing data into the knowledge layer, add parameter validation to your sync tables to ensure that users enter valid settings before kicking off the indexing process.

We've also worked to make it easier for legacy Packs to be upgraded to agents, with these new features:

  • Ingestion suggested values - Provide an alternate suggestion value for a parameter to be used in the agent setup screen.
  • Invocation source - Determine if your sync table is being run in Superhuman Go vs Coda, to adjust the logic, etc.