Skip to content
Jz Desk

Set up your GPT account

Jz Desk ships without a model account of its own. Bring an OpenAI API key and it talks to your account directly — nothing goes through us.

  1. Step 1

    Get an API key

    Create one at platform.openai.com under API keys. It needs Responses API access, on an account with billing set up. Copy it once — OpenAI will not show it again.

  2. Step 2

    Download and open Jz Desk

    On macOS, open the disk image and drag Jz Desk to Applications. On Windows, run the installer. The agent is bundled inside, so there is nothing else to install.

  3. Step 3

    Paste your key

    The setup wizard opens on first launch and asks for it. The key is written to ~/.jz-code/auth.json, readable only by you.

  4. Step 4

    Pick your model

    Open Settings, choose a model your account can reach, and start a chat.

The config

Two lines. Jz Desk speaks the OpenAI Responses API and the built-in openai provider already resolves to https://api.openai.com/v1, so there is no endpoint to paste. Put a model your account can reach in `model`.

~/.jz-code/config.toml
model = "gpt-5.6"
model_provider = "openai"

Going through a gateway or proxy instead of OpenAI directly? Set openai_base_url. That is the key that works — a [model_providers.openai] block is silently ignored, because openai is a built-in provider.

openai_base_url = "https://your-gateway.example.com/v1"

Choosing a model

Any model your key can reach works by name — the agent passes it straight through. gpt-5.6 is a good default; newer models like gpt-6 work the same way. Smaller or older models will struggle with multi-file edits.

The model picker in the desktop app shows the models Jz Desk ships metadata for. To list different ones, copy the bundled catalog, edit the visibility fields, and point model_catalog_json at your copy.

Check it works

Open a project folder in Jz Desk and ask it something. A reply means the endpoint, key, and model all line up.

If it does not work

It waits and never replies
The endpoint is unreachable. If you set openai_base_url for a gateway, check it is right and reachable; otherwise check your network can reach api.openai.com. Note a config.toml left by an older install is never overwritten, so it may still name a stale endpoint.
404: model is not supported
The model name is not one your account serves. Set model to a model id your key can reach, and start a new chat — an existing conversation keeps the model it was created with.
401 or 403
The key is missing, expired, or lacks Responses API access. Re-enter it from Settings, and confirm the account has billing enabled.