Command Code Go: Why Does the Model Picker Look Different on Windows and Linux?
The quick answer
If Command Code's model picker shows different choices on Windows and Linux, start by comparing the exact command, version, account and model list on each machine. A difference in the picker alone does not establish that either operating system has different Go plan entitlements.
Build your budget shortlistIn this guide
If Command Code's model picker shows different choices on Windows and Linux, start by comparing the exact command, version, account and model list on each machine. A difference in the picker alone does not establish that either operating system has different Go plan entitlements. Nor does it identify the cause: the installation, catalog, account, provider and configuration all deserve a closer look.
The current official model reference says its tables, --list-models and the in-session /model picker use the same model registry. That is the documented expectation, not proof that two particular installations are in the same state. Here's a practical way to collect comparable evidence without resetting your configuration or changing your subscription.
1. Make sure you are running Command Code
Current Command Code documentation uses cmd on Linux and cmdc on Windows. On Windows, cmd is already the system command shell; the CLI reference says to use cmdc or the full command-code command. A report using cmdc is therefore consistent with the current Windows alias; it is not evidence of a different product.
In a Linux terminal:
cmd --version
cmd --list-models
cmd status
cmd whoami
In Windows PowerShell:
cmdc --version
cmdc --list-models
cmdc status
cmdc whoami
The official reference documents these flags and subcommands. Record the version, list and account identity on each machine, taking care not to share sensitive account details. If an alias is unavailable, the documentation identifies command-code as the full command on both platforms. Compare the output from the same environment where you see the picker; a Linux environment running inside Windows may have its own installation and home directory.
Different versions or accounts are useful leads, but neither proves why a picker differs. If the commands resolve to unexpected programs, check the executable location using your shell's command-discovery tools before continuing. Do not assume that the Windows system shell is Command Code merely because it is named cmd.
2. Compare the list and the picker in each environment
Start a new interactive session in each environment using the appropriate command, then enter:
/model
Compare the names and IDs displayed there with that same environment's --list-models output. Note which specific model IDs are present or missing, rather than comparing only the number of rows. A screenshot of the picker and a sanitized text copy of the list can help support reproduce the difference.
The model reference says the reference page, terminal list and picker share a registry. If they disagree within one installation, record the version, time and exact discrepancy. If each installation is internally consistent but the machines differ, compare their versions and environment first. The documentation does not establish that any particular mismatch is an OS-specific bug.
Command Code also documents CMD_DISABLE_REMOTE_MODEL_CATALOG=1, which stops retrieval of the live catalog and uses the list built into that release. Check whether this variable is set in either environment; its presence is a diagnostic clue, not a confirmed explanation for your case. The relevant environment and configuration rules are in Settings & Config.
3. Separate the catalog from Go plan access
The full CLI model registry and the Go plan's included models answer different questions. The Go plan page has a specific included-model list and says other models can require a different plan. Check the exact model on that page and the account's current billing state before concluding it is included. A model name in a general catalog does not by itself establish your account's entitlement or remaining usage.
The Go page also discusses usage windows, extra credits and pauses after limits are reached. A request being unavailable because of a usage limit is a different observation from a model being absent from a picker. Check the exact message and current usage rather than assuming the two are equivalent. Plans, model lists and limits can change, so review the official page at the time you troubleshoot.
The official Go page currently contains overlapping descriptions of the credit structure: its introduction describes a flat $10 credit pool, while a dated notice and the detailed sections describe a move to per-model credits and a shared pool. Treat the detailed terms as a reason to check the current billing screen or ask support, not as a basis to calculate an individual account's allowance from the headline alone.
4. Check provider and settings without exposing credentials
The settings reference documents a user-level ~/.commandcode/config.json, project and user settings files, provider configuration and an environment variable that can override stored Command Code authentication. Compare the selected provider and relevant model settings across the two environments. Check whether you opened the same project and whether either machine has a project-local override.
The documented model precedence is the --model flag, an in-session /model selection, settings, then the built-in default. A running session reads its default at startup, so open a new session after a deliberate settings change. These rules help explain which model is selected; they do not establish that a saved default caused a different picker list.
Avoid posting auth.json, API keys, tokens or full environment dumps. The documentation says credentials are managed by the application; do not edit its auth file as a troubleshooting shortcut. If you use a bring-your-own-key provider, record the provider type and whether the setup differs, without disclosing its key. A provider difference is a question to investigate, not a verified cause of this particular report.
5. Test a documented model ID and escalate with evidence
For a model you have confirmed is appropriate for your account, the CLI reference documents a session-level selection using --model or -m. For example, replace <model-id> with an exact ID from your local list:
cmd --model <model-id>
On Windows use cmdc --model <model-id>. This is a diagnostic selection, not a promise that a missing model will become available or that its usage is included. The model reference says unknown IDs are rejected. Record the exact result and any error, removing sensitive details before sharing it.
If the mismatch persists, contact Command Code through the help links in its documentation. Include both OS and shell, versions, date, selected provider, whether the account is the same, the specific missing IDs, sanitized --list-models results and picker screenshots. Also mention whether the remote-catalog setting differs. Ask support to confirm the expected catalog and account access; avoid treating an unverified workaround as a fix.
For a broader comparison, see our coding plan comparison and model directory. Those pages provide context; the vendor's current account and plan information remain the appropriate source for an individual access question.