vercel / vercel/workflow

skills/workflow/SKILL.md: two example model IDs are not served by the AI Gateway (anthropic/claude-sonnet-4-5, openai/gpt-4)

Open Beginner friendly
#3,653 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2.4k
Forks
365
Avg merge
2d 11h
Merged PRs (30d)
169

Description

Where

skills/workflow/SKILL.md (version 1.10) on main:

  • Line 154, the DurableAgent example: model: "anthropic/claude-sonnet-4-5"
  • Line 94, the Prefer Step Functions example: model: openai("gpt-4")

The problem

Neither ID is served by the AI Gateway.

anthropic/claude-sonnet-4-5 is malformed rather than merely dated. The Gateway spells the minor version with a dot, so the model that exists is anthropic/claude-sonnet-4.5. The hyphenated form has no entry at all, so copying the DurableAgent example verbatim produces a call that fails on an unknown model rather than one that runs on something old.

openai/gpt-4 has been retired. The gpt-4 family on the Gateway is now gpt-4-turbo, gpt-4.1, gpt-4o and their variants.

Verified against the live list (348 models):

$ curl -s https://ai-gateway.vercel.sh/v1/models | jq -r '.data[].id'

anthropic/claude-sonnet-4-5    served: false
anthropic/claude-sonnet-4.5    served: true
anthropic/claude-sonnet-5      served: true
openai/gpt-4                   served: false
openai/gpt-5                   served: true

Why it is worth fixing

This ships as an agent skill, so the examples are copied into generated code close to verbatim, and a malformed model ID fails at the first call rather than degrading quietly. It is also the kind of value a reader is least likely to question, since it looks like a plausible current model.

Worth noting that the sibling use-ai-sdk skill in vercel/ai handles this well: it tells the reader never to use model IDs from memory and gives the curl to fetch the live list. This skill has no equivalent guard, so its hard-coded IDs carry more weight than they should.

Suggested fix

Either pin the examples to IDs that currently resolve (anthropic/claude-sonnet-4.5 or anthropic/claude-sonnet-5, and one of the current gpt-4.x/gpt-5 entries), or make them obviously placeholders and add the one-line pointer to https://ai-gateway.vercel.sh/v1/models that the AI SDK skill already carries. The second ages better, since any pinned ID drifts again on the next release.

Happy to open a PR if that is easier.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Open skills/workflow/SKILL.md and inspect the examples at lines 94 and 154. Check the AI Gateway model list at https://ai-gateway.vercel.sh/v1/models, then update the examples to use served IDs or clearly mark them as placeholders and include the live-list guidance.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
85/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.