GPTMap

gpt-6-astra appears in the OpenAI SDK: the new ChatModel ID and the Safety Alerts API

openai-python v3.8.0 and openai-node v7.10.0 (2026-09-03) added gpt-6-astra to the ChatModel enum ahead of the GPT-5.6 tiers, plus a Safety Alerts API and misalignment error details. This article only states what SDK source shows.

TL;DR
On 2026-09-03, openai-python v3.8.0 and openai-node v7.10.0 added gpt-6-astra to the ChatModel enum ahead of the GPT-5.6 tiers, plus a Safety Alerts API, two webhooks, and misalignment error details. As verified 2026-09-10: no release status, pricing, or capabilities announced; this article claims nothing beyond SDK source.
gpt-6-astra is a new model ID that appeared in the type layer of OpenAI's official SDKs on 2026-09-03 (openai-python v3.8.0, openai-node v7.10.0): it is listed in both packages' ChatModel type enum ahead of the GPT-5.6 tiers, and doc examples were swapped to it. As verified on 2026-09-10, OpenAI has not announced its release status, pricing, or capabilities on any publicly loadable channel.

On 2026-09-03, OpenAI's two official SDKs shipped a feature release on the same day: openai-python v3.8.0 and openai-node v7.10.0 (both published at 19:50 UTC), with release notes carrying the same headline — "add gpt-6-astra and related features". The release wrote a model ID that had never appeared in the type layer into both packages' ChatModel enum, and landed an entirely new capability surface alongside it: a Safety Alerts API, misalignment error details, and two new webhook events.

Let's set the ground rules first: this article only states what can be pointed to, verbatim, in SDK source. Every citation comes from GitHub release notes, PR diffs, and tag source re-fetched on 2026-09-10 (see officialReferences at the end). OpenAI's documentation domains returned 403 to this site that day, so anything touching official-announcement-side status is date-anchored and carries no claims beyond what was verified.

Update (2026-09-15): the "unreleased" boundary has since moved — GPT-6-Astra shipped with Codex CLI 0.154.0 (2026-09-09) into the model picker (ranked first) and the Amazon Bedrock catalogs, and the bundled official migration guide confirms Responses API calls with model: gpt-6-astra. The type-layer analysis below still stands. For current status and the migration checklist, see GPT-6-Astra Goes Live: Codex Model Picker and Amazon Bedrock Catalogs.

1. Overview: what we can and cannot confirm

gpt-6-astra is a new model ID that appeared in the type layer of OpenAI's official SDKs on 2026-09-03: openai-python v3.8.0 and openai-node v7.10.0 list it in the ChatModel type enum ahead of the GPT-5.6 tiers, and doc examples were swapped to it. As verified on 2026-09-10, OpenAI has not announced its release status, pricing, or capabilities on any publicly loadable channel.

Drawing the boundary takes one table:

DimensionStatus
The ID is in the SDK type enum✅ Reproducible (v3.8.0 / v7.10.0, both packages)
Enum order puts it ahead of the GPT-5.6 tiers✅ Reproducible
Doc examples swapped to the ID✅ Reproducible (request / response / fine-tuning examples)
Safety Alerts API and related features in the same PR✅ Reproducible (same PR diff)
Released and callable❓ No type-layer evidence; official channels unverifiable for this site that day
Pricing, context window, capabilities❓ SDK types contain none of this
Relationship to the GPT-5.6 family❓ No official statement

For the three "❓" rows, this article does not speculate. That is not conservatism — it is the only correct posture for this kind of coverage: SDK types are generated (both packages' source headers read generated from our OpenAPI spec), so they prove "it is in the spec," not "it is being served."

2. gpt-6-astra in the type enum: three reproducible facts

2.1 Added to ChatModel, ahead of the GPT-5.6 tiers

Python side, src/openai/types/shared/chat_model.py (v3.8.0 tag):

ChatModel: TypeAlias = Literal[
    "gpt-6-astra",
    "gpt-5.6-sol",
    "gpt-5.6-terra",
    "gpt-5.6-luna",
    ...
]

Node side, src/resources/shared.ts (v7.10.0 tag):

export type ChatModel =
  | 'gpt-6-astra'
  | 'gpt-5.6-sol'
  | 'gpt-5.6-terra'
  | 'gpt-5.6-luna'

The enum order matches across both packages: gpt-6-astra is listed before gpt-5.6-sol / gpt-5.6-terra / gpt-5.6-luna. The ordering itself is a reproducible fact; why it is ordered that way the source does not say, and neither do we.

2.2 Doc examples swapped wholesale

Across the PR #3791 (Python) / #2582 (Node) diffs, gpt-6-astra appears on 326 / 241 lines respectively (grep count, 2026-09-10) — all concentrated in documentation examples: model parameters in example requests, model fields in example response objects, streaming chunk examples, fine-tuning job examples. The previous example model was gpt-5.6-sol. In other words, OpenAI replaced the "example model" of its official API documentation with an unannounced ID — a stronger signal than an enum addition, but still a spec-layer signal, not a release announcement.

2.3 No snapshot, no alias, no pricing fields

The enum contains only bare gpt-6-astra — no snapshot variant in the gpt-6-astra-YYYY-MM-DD form, and no pricing or positioning metadata anywhere in the model types (when GPT Image 2.5 landed, there were at least quality-tier changes to read). That is all the type layer gives up.

3. The Safety Alerts API shipped in the same release

The largest of the "related features" is a capability surface that did not exist before: Safety Alerts. It turns "a request triggered a safety block" into a queryable object.

3.1 Endpoint and object

  • Endpoint: GET /v1/safety/alerts/{id}, spec summary "Retrieve a safety alert", description verbatim: "Get a safety alert belonging to the authenticated API project."
  • SDK method: client.safety.alerts.retrieve(id) -> SafetyAlert
  • Fields of the safety.alert object (src/openai/types/safety/safety_alert.py, v3.8.0 tag):
FieldTypeMeaning (per SDK docstrings)
idstrAlert ID; example shows an alert_ prefix
created_atintUnix timestamp (seconds)
error_typeLiteral, 4 valuesSee below
modelstrThe model that triggered the alert; the example response shows gpt-6-astra
objectLiteral["safety.alert"]Object type discriminator
reasonOptional[str]A customer-safe description derived from error_type; null for zero data retention requests
request_id / response_idstrAssociated request and response IDs
request_pausedboolSee 3.3 — the SDK docstring qualifies it carefully

The 4 error_type values:

  • potentially_unintended_data_transfer
  • potentially_unintended_data_access
  • potentially_unintended_destructive_activity
  • other

One more sentence from the spec deserves underlining: "An optional classification; clients must accept additional values" — clients must survive future enum values, so leave a default branch in any exhaustive switch.

3.2 Two webhook events

The same release added two webhooks:

  • safety.alert.created: "Sent when an approved safety alert is available for an API project." (project scope)
  • safety.org_alert.created: "Sent when an approved safety alert is available for an enterprise workspace." (enterprise workspace scope)

Alerts can therefore be pushed, not just pulled, once approved — wiring safety events into an existing event-driven architecture is now possible.

3.3 The request_paused docstring deserves its own section

The SDK docstring for request_paused reads, verbatim:

Whether block registration succeeded for this request. This does not confirm that response execution stopped.

In plain terms: the field only tells you the block was registered — it does not confirm the response execution actually stopped. OpenAI drawing an assertion boundary inside its own generated type docs is not something you see every day. Teams building security auditing, alerting, or automatic kill switches should treat that sentence as implementation semantics: do not treat request_paused == true as proof the request was successfully blocked.

4. Misalignment error details and steer instructions

The same PRs added an optional misalignment field to ErrorObject, structuring "model behavior deviated from expectations" errors:

class Misalignment(BaseModel):
    detailed_explanation: Optional[str] = None   # The public explanation for this block.
    error_type: ...                              # Same 4-value classification as safety alerts
    steer: Optional[MisalignmentSteer] = None    # An optional public continuation instruction.

class MisalignmentSteer(BaseModel):
    message: str                                 # The public continuation instruction.

Three components: a public explanation (why the block happened), a classification (4 extensible values), and a steer instruction (a publicly usable message telling clients how to steer the conversation after a block). The API spec also gained a new error code, misalignment_policy_violation. The structure means a safety block is no longer just an error string — clients can programmatically distinguish block reasons and even receive an official suggestion for what to ask next.

A few more spec changes from the same PRs worth noting:

  • context_management type rename: ContextManagement was renamed to ResponseCreateContextManagement, with the old name kept as a backward-compatible export. Field semantics are unchanged: type currently supports only compaction, plus a token threshold field that triggers compaction.
  • Hot updates to reasoning effort in beta responses: the response configuration update gained a reasoning field, spec text "Updates to reasoning configuration. Only effort is supported" — reasoning.effort for subsequent responses can change mid-session, until the next update.
  • New error code invalid_subject_token: credential validation failures now have a dedicated error code.

6. What we cannot confirm, and how to verify it yourself

To be explicit about the three things this article does not claim: whether gpt-6-astra is released and callable, its pricing and context window, and its relationship to GPT-5.6. As verified on 2026-09-10, OpenAI's documentation domains (developers.openai.com / platform.openai.com / help.openai.com / openai.com) all returned 403 to this site, so changelog-side and pricing-page status could not be checked; the SDK type layer contains none of it, and we do not infer from the name.

Update (2026-09-15): two of the three now have answers via the official migration guide bundled with Codex CLI 0.154.0 — the Responses API accepts the model, and the role mapping is Sol→Astra with Terra/Luna retained (see the update note at the top). Pricing figures remained absent from loadable channels as of that day.

Reproducing the facts in this article takes two commands (any environment that can reach GitHub raw):

# Fact 1: the first line of the ChatModel enum is gpt-6-astra
curl -s https://raw.githubusercontent.com/openai/openai-python/v3.8.0/src/openai/types/shared/chat_model.py | head -12

# Fact 2: the full SafetyAlert type with its docstrings
curl -s https://raw.githubusercontent.com/openai/openai-python/v3.8.0/src/openai/types/safety/safety_alert.py

To track what happens next, watch three signals (in order of trust): the ID appearing on the official changelog or pricing page, snapshot variants or pricing-related fields appearing in the SDK, and subsequent additions and removals in the ChatModel enum. If any of them happens, this site will follow up in the model release notes.

7. Common pitfalls

  • Treating an enum addition as a release announcement: an ID in ChatModel does not mean the model is released. Generated specs have always contained unlaunched capability surfaces; "usable" is always decided by the official changelog and pricing page.
  • Hardcoding gpt-6-astra in production: an unannounced ID can vanish from the enum or simply fail to resolve. If you must experiment, put it behind a feature flag and handle model-not-found style errors.
  • Exhaustive switches over error_type without a default branch: the spec says clients must accept additional values — your code must not break when a new value appears.
  • Treating request_paused as proof of a successful block: the SDK docstring states it does not confirm execution stopped; see 3.3.
  • Broken ContextManagement imports after upgrading: the type is ResponseCreateContextManagement as of v3.8.0; the old name is still exported for compatibility, but new code should use the new name.

8. Next steps

Key points

  • gpt-6-astra is in the ChatModel type enum of openai-python v3.8.0 and openai-node v7.10.0, listed ahead of gpt-5.6-sol / gpt-5.6-terra / gpt-5.6-luna (since 2026-09-03; reproducible from both packages' tag source)
  • The same PRs (#3791 / #2582) added a Safety Alerts API: GET /v1/safety/alerts/{id} returning a safety.alert object with a 4-value error_type enum
  • Two new webhook events: safety.alert.created (API project scope) and safety.org_alert.created (enterprise workspace scope)
  • ErrorObject gained an optional misalignment field: a public explanation, the same 4-value classification, and a steer public continuation instruction; the API spec also gained a misalignment_policy_violation error code
  • The SDK docstring for request_paused states it only confirms block registration, not that response execution stopped — the generated docs draw their own assertion boundary
  • As of 2026-09-10 there is no type-layer evidence of release status, pricing, or capability window; every fact in this article can be pointed to in the openai-python v3.8.0 tag source

Frequently asked questions

It is a new model ID that appeared in the type layer of OpenAI's official SDKs on 2026-09-03: openai-python v3.8.0 and openai-node v7.10.0 added it to the ChatModel type enum ahead of the GPT-5.6 tiers, and swapped doc examples to it. That is all the type layer says — no release status, pricing, or capability information is present.

Official references

Related articles

Subscribe to GPTMap Weekly

One email every Monday: curated OpenAI updates, deep dives, and best practices. No ads, unsubscribe anytime.

Submitting opens Buttondown in a new tab to confirm your subscription.

GPTMap EditorialPublished 2026-09-10Updated 2026-09-15 10 min read
Test environment (EEAT)
Last tested: 2026-09-10
Model used: gpt-5.6 family; gpt-6-astra (selectable in Codex and Bedrock since 2026-09-09, official guide confirms Responses API usage, pricing unverified)