You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`--login-status`| Prints the signed-in account, plan, and remaining access-token lifetime. Refreshes nothing. |
114
+
|`--logout`| Deletes the stored credentials. Succeeds whether or not any existed. |
115
+
|`--models`| Asks the server which models this account may use. Spends a little quota — see below. |
116
+
|`--reasoning-effort <low\|medium\|high\|xhigh>`| How hard the model should think. Also settable per preset, or as `reasoning_effort` in `config.toml`. |
117
+
|`--reasoning-summary`| Streams the model's reasoning summary to **stderr**, then a `---` rule, then the answer on stdout. The model decides whether to produce a summary at all. |
118
+
119
+
This endpoint ignores `--temperature`, `--top-p`, and `--top-k`; use `--reasoning-effort`
120
+
instead. It does not use `--api-key` or `--api-env`. Passing any of them prints a warning
121
+
to stderr and continues.
122
+
123
+
Answers always go to stdout and everything else to stderr, so `llm-stream --api chatgpt
124
+
"..." | cat` gives you the answer and nothing else.
125
+
126
+
#### Which models work
127
+
128
+
The server decides, per plan and per rollout, so `llm-stream` ships **no local allowlist**:
129
+
`--model` is passed through verbatim and the server's own refusal is what you see. Ask your
130
+
own account:
131
+
132
+
```bash
133
+
llm-stream --models
134
+
```
135
+
136
+
It probes one model at a time and prints a table. Each accepted probe opens a real request
137
+
and spends a small amount of your subscription's Codex allowance, so it warns you before it
138
+
starts.
139
+
140
+
Accepted on a Plus account on **2026-07-28**: `gpt-5.6-sol` (the default), `gpt-5.6-terra`,
141
+
`gpt-5.6-luna`, `gpt-5.5`, `gpt-5.4`. Refused on the same account: `gpt-5.3`, `gpt-5.1`,
142
+
`gpt-5-codex`. **That list will drift.** It is a snapshot of one account on one day, not a
143
+
contract — and a model missing from it is still worth trying with `--model`.
144
+
145
+
#### What this actually talks to
146
+
147
+
This provider posts to `https://chatgpt.com/backend-api/codex/responses`, an **undocumented
148
+
endpoint internal to OpenAI's Codex CLI**. It is not a public API and there is no
149
+
specification to appeal to. OpenAI may change, gate, or block it at any time without notice,
150
+
and using it from a client other than Codex is a gray area under OpenAI's terms of use.
151
+
Requests draw on your ChatGPT subscription's Codex allowance, not on a metered API key.
152
+
153
+
Use it knowing that.
154
+
89
155
## Contributing
90
156
91
157
Contributions are welcome! Please feel free to submit a Pull Request.
Copy file name to clipboardExpand all lines: crates/llm_stream/README.md
+21-1Lines changed: 21 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,27 @@ echo -n "What is the capital of" | llm-stream - "France?"
46
46
47
47
### Configuration ⚙️
48
48
49
-
`llm-stream` uses a TOML configuration file to manage settings, API keys, and other customizations. The default configuration file is located at `~/.config/llm-stream.toml`.
49
+
`llm-stream` uses a TOML configuration file to manage settings, API keys, and other customizations. The default configuration file is located at `~/.config/llm-stream/config.toml`. Run `llm-stream --config` to print the path in use, or `llm-stream --dir` for the directory.
50
+
51
+
### ChatGPT subscription 🔐
52
+
53
+
Reach GPT models through a ChatGPT subscription instead of an `OPENAI_API_KEY`:
54
+
55
+
```bash
56
+
llm-stream --login # browser sign-in, once
57
+
llm-stream --api chatgpt "say PONG"# stream an answer
58
+
llm-stream --models # which models this account may use
59
+
llm-stream --api chatgpt --reasoning-effort high "explain this diff"
60
+
```
61
+
62
+
Credentials are stored at `~/.config/llm-stream/auth.json` with mode `0600`.
63
+
`--login-status` shows who is signed in; `--logout` removes the credentials.
64
+
65
+
This provider rides an **undocumented endpoint internal to OpenAI's Codex CLI**, which
66
+
OpenAI may change or block without notice, and it spends your subscription's Codex
67
+
allowance rather than a metered API key. See the
68
+
[project README](https://github.com/cloudbridgeuy/llm-stream#chatgpt-subscription) for the
69
+
full details, the verified model list, and the caveats.
0 commit comments