GPT-6 Astra rejects `hi` with invalid_prompt: isolated CLI and minimal backend reproduction across Linux/macOS
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of Codex CLI is running?
0.153.4 (Linux x86_64 standalone musl build). The npm stable version was also 0.153.4 when checked during diagnosis on September 6, 2026.
What subscription do you have?
ChatGPT subscription sign-in, not an API-key/custom-provider setup. Exact subscription tier is not included in this report.
Which model were you using?
Failing: gpt-6-astra, reasoning effort high.
Working control: gpt-5.6-sol, also high.
What platform is your computer?
- Primary reproduction: remote Linux x86_64 host, accessed over SSH.
- Independent transport comparison: macOS, using the same account's credentials for a minimal backend request. This was not a macOS Codex CLI comparison.
What terminal emulator and version are you using (if applicable)?
Shell over SSH for the Linux CLI reproduction. The additional minimal request tests do not depend on an interactive terminal UI.
Codex doctor report
Not collected for this report. The evidence below includes an isolated CLI test and a minimal request outside the CLI.
What issue are you seeing?
GPT-6 Astra fails even when the entire user prompt is hi:
Invalid prompt: your prompt was flagged as potentially violating our usage policy. Please try again with a different prompt: https://platform.openai.com/docs/guides/reasoning#advice-on-prompting
GPT-5.6 Sol responds normally using the same account, machine, prompt and reasoning effort.
Related reports already describe similar symptoms: #43058 and #43163. This report adds a minimal backend reproduction with no tools, skills, project content or conversation history, plus a Linux/macOS transport comparison and a response ID for investigation.
What steps can reproduce the bug?
1. Isolated CLI comparison
I tested with separate temporary Codex homes containing only the existing account's authentication material, and an empty working directory. User configuration was ignored and apps, plugins and multi-agent features were disabled. No original configuration or conversation history was changed.
The command shape below uses placeholders for those temporary directories:
CODEX_HOME="$CLEAN_CODEX_HOME" codex exec \
--ignore-user-config \
--skip-git-repo-check \
--disable multi_agent \
--disable apps \
--disable plugins \
--sandbox read-only \
-C "$EMPTY_WORKDIR" \
-m gpt-6-astra \
-c 'model_reasoning_effort="high"' \
--json hi
Result: invalid_prompt, exit code 1.
The same test with a separate clean control home and -m gpt-5.6-sol succeeded and returned a normal greeting.
2. Minimal backend comparison outside the CLI
To distinguish CLI/context issues from backend behavior, I also sent a minimal streaming request to the official ChatGPT Codex backend used by this login:
POST https://chatgpt.com/backend-api/codex/responses
Payload:
{
"model": "gpt-6-astra",
"instructions": "You are a helpful assistant.",
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "hi"
}
]
}
],
"reasoning": {
"effort": "high"
},
"store": false,
"stream": true
}
There were no tools, skill descriptions, project instructions, previous-response references or prior messages. Authentication headers are intentionally omitted. No third-party model endpoint was used.
Results:
| Test | GPT-6 Astra | GPT-5.6 Sol |
|---|---|---|
| Isolated Linux Codex CLI | invalid_prompt |
Normal greeting |
| Minimal request from Linux | HTTP 200, then SSE error / response.failed with invalid_prompt |
Normal completed response |
| Minimal request from macOS using the same account | HTTP 200, then SSE invalid_prompt |
Normal completed response |
The macOS comparison used HTTP/1.1 through the machine's existing local proxy. Preliminary transport failures were excluded from the model comparison; both final macOS model requests reached the backend. TLS verification was not disabled.
What is the expected behavior?
A fresh request consisting only of a neutral instruction and hi should produce a normal greeting. If there is an account/model availability problem, the error should identify that problem rather than reporting that this harmless prompt violates usage policy.
Additional information
Observed on September 6, 2026.
A failed GPT-6 response ID from the minimal macOS request:
resp_04bdc6162de489b7016a9d7eb64f3487d0ac8f4fbc02700168
A successful GPT-5.6 control response ID from the same comparison:
resp_055fbf2af5013180016a9d7eb9ffa087d086d5812364243ee8
These results make a Linux-only installation, SSH connectivity, user skill, or conversation-history explanation less likely. They do not establish the exact root cause, prove the problem is account-specific, or imply all Astra accounts are affected. Could maintainers investigate the failed response and whether model-specific request handling or account state explains the discrepancy?
Temporary workaround: use GPT-5.6 Sol. This does not restore Astra.
No auth.json contents, access/refresh tokens, account identifiers, private file paths, source code or full session transcripts are included.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the isolated codex exec command with gpt-6-astra, then compare its SSE failure with the minimal POST to https://chatgpt.com/backend-api/codex/responses and the working gpt-5.6-sol control. Investigate the model-specific request handling or account-state discrepancy described in the issue. Done means hi succeeds on Astra or the response reports the actual availability problem instead of invalid_prompt.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend-api-design, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100