Connecting ChatGPT and ChatGPT classic

Both apps install together but their setup is the opposite. Classic uses an OAuth connector, ChatGPT uses a project-pinned API key.

⚠ First: there are two apps

OpenAI installs two apps together: ChatGPT and ChatGPT classic. The names are similar but they attach to AiAkiv in different ways. What works in one doesn't work in the other.

What older material called Codex is today's ChatGPT. That's also why the config file is .codex/config.toml.

At a glance

OAuth (account connector) API key (.codex/config.toml)
ChatGPT classic · web ✅ Register once on the web -
ChatGPT Not available ✅ Put a key in the working folder
  • Register the account connector once and it's visible on the web and in both apps.
  • The two setups can sit side by side. But you must register them under different names → §4
  • Even so, using only one is recommended → §5

Where saving goes differs too. The account connector follows Main from the console; a folder's key is pinned to that project (Teams and projects).

1. ChatGPT classic: attaches via an OAuth connector

Registration happens once, on the web. You cannot create a connector from the app.

  1. Go to chatgpt.com in a browser, not the app.

  2. Bottom-left user → Settings → Security and login → Developer mode, turn it on.

  3. Settings → Apps (connectors) → Create app and enter the address below. (Plus and up.)

    https://mcp.aiakiv.com/mcp
    
  4. Turn it on per conversation. Connectors are enabled per conversation. Press + in a new chat's composer and pick AiAkiv. Skip this and no tools appear in a new chat at all.

Developer mode is an OpenAI setting. You turn it on to add a custom connector by hand. Once AiAkiv can be installed straight from OpenAI's plugin directory there is no connector to add by hand, so this step goes away too. If this procedure is a burden, use §2's key method instead. Though that only makes sense if you're on the ChatGPT app.

Saving goes to Main. An account connector has no mechanism to pin a project, so it lands in the Main project set in the console. The check-target tool shows binding as "main". To use different projects per folder, go to §2.

2. ChatGPT: no OAuth, attach with an API key

OAuth is not usable here. Neither a custom connector nor a config with the X-K2G-Project header attaches. The one setup that works is a project-pinned API key.

With a key, the authentication step disappears entirely. Authentication is already inside the key, so there's no sign-in window and no browser (Authentication).

  1. Issue that project's API key in the console (shown once, right after issuing). Use a project key here. A dynamic key attaches too, but its save location moves with Main, which defeats the point of pinning to a folder and makes it harder to tell where something was saved when you run both setups per §4. Use dynamic keys elsewhere (Authentication).

  2. Put the following in the working folder's .codex/config.toml. The file location is the same for the app, the CLI, and the IDE extension.

    [mcp_servers.AiAkiv-proj]
    url = "https://mcp.aiakiv.com/mcp"
    http_headers = { "Authorization" = "Bearer <your key>" }
    
  3. Restart the app.

Don't name it AiAkiv. There's a reason the example says AiAkiv-proj: if the name collides with §1's account connector you can no longer tell them apart. Details in §4. Any name works as long as it differs from the global one.

The project is pinned into the key. The coordinates are frozen inside it, so this folder doesn't move when you change Main in the console. The check-target tool shows binding as "api-key".

⚠ The key is your ID card. Leaking it means handing over access to your memory wholesale: don't commit config.toml. The full minimum is in Key hygiene in Authentication.

3. Both setups meet inside one app

In the ChatGPT app, both setups can be visible at once.

  • The account connector (§1) attaches to the account, so registering it on the web makes it visible in this app too.
  • The folder's key (§2) is read when you start work in that folder.

So in the same app you end up with chat going through the connector and folder work going through the folder's key. That isn't a problem in itself: but it does start to get confusing which one saved where.

4. Running both: register different names

§1 and §2 can be used simultaneously. With one precondition.

The global and folder MCP server names must differ.

Name
Global: account connector AiAkiv
Folder: .codex/config.toml AiAkiv-proj

If both are AiAkiv, there's no way to say which one to use. The tool names collide too, so the AI picks whichever it likes at the time and you only learn where a save went afterwards. Split the names and you can start saying "save through AiAkiv-proj."

The name doesn't have to be AiAkiv-proj. It only has to differ from the global one: with several folders, something like AiAkiv-<project> that identifies the project is better.

Use either §1 or §2, not both. With one setup there's no confusion about where saving goes.

If you must run both, keep two habits.

  1. Name the side you want. Split the names per §4 and say which one when you give work.
  2. Check the save target often. See §Checking below. ChatGPT tends to call get_save_target on its own fairly readily, so it follows a request to check.

Checking

Ask your AI before you start work.

where are you saving right now?

The AI calls get_save_target and reports back. The binding value tells you which setup you're attached through.

binding Meaning
"main" §1 account connector: follows Main from the console
"api-key" §2 the folder's key: pinned to that project

If the project name carries a (Main) suffix, you're following the global Main.

Every other value binding can take is in Confirming it attached in Folder binding.

Common problems

  • I don't know which app I opened. If the icon says ChatGPT, use §2; if it says ChatGPT classic, use §1.
  • I added the folder config and it doesn't attach. Check whether you used the OAuth form. ChatGPT can't use OAuth: it has to be §2's key method.
  • Saving goes to the wrong project. This happens when both setups are on and the names are identical. Rename the folder side per §4.
  • No tools at all in a new chat. Connectors are enabled per conversation: step 4 in §1.
  • I removed the connector, re-added it, and it won't attach. The old state is cached → Common problems.
Full index → Docs View as Markdown