{"slug": "macaz-gpt-5-6-inside-claude-code", "title": "Macaz – GPT 5.6 inside Claude Code", "summary": "Macaz, an open-source interoperability layer, launches to let users route Claude Code and Codex CLI through any model provider of their choice, translating Anthropic and OpenAI protocols while keeping client-executed tools local. The project is independent of Anthropic and OpenAI, and aims to give developers flexibility in model selection without sacrificing tool security.", "body_md": "**Use your favorite models and providers with your favorite coding agents.**\n\nmacaz connects locally installed coding agents with a model provider chosen by the user. It starts Claude Code or Codex CLI and routes model interactions while the selected agent continues to own its local tools, permissions, sessions, skills, and user interface.\n\nmacaz is free and open-source software licensed under Apache-2.0. Every build contains the complete feature set.\n\nImportant\n\nmacaz is an independent interoperability project. It is not affiliated with, authorized by, endorsed by, or sponsored by Anthropic, OpenAI, or any other client or model provider. Claude Code and Codex CLI are separate products that must be obtained from their authorized sources. Each product and provider remains subject to its own current terms.\n\nRead [LEGAL.md](/macaz-dev/macaz-cli/blob/main/LEGAL.md) and [PRIVACY.md](/macaz-dev/macaz-cli/blob/main/PRIVACY.md) before use.\n\n```\nmacaz claude   # Claude Code through the selected provider\nmacaz codex    # Codex CLI through the selected provider\n```\n\nThe two clients have independent provider/model configuration and isolated\nmacaz profiles. For example, `macaz claude`\n\ncan use an OpenAI model while\n`macaz codex`\n\nuses the official Anthropic API. `macaz reset codex`\n\nchanges\nneither the Claude configuration nor shared provider credentials.\n\nThe local routing layer translates both directions:\n\n- Anthropic Messages requests and streams used by Claude Code;\n- OpenAI Responses requests and streams used by Codex CLI;\n- text, images, supported document inputs, reasoning effort, usage, errors, function tools, Codex custom/free-form tools, and tool namespaces; and\n- live provider model catalogs into each client's native\n`/model`\n\ninterface.\n\nClient-executed tools stay in the client. Shell commands, file edits,\n`apply_patch`\n\n, skills, hooks, MCP tools, namespaced tools, and subagents are not\nexecuted by macaz or by an upstream CLI adapter. Normal client permission and\nsandbox behavior is preserved unless the user explicitly passes that client's\nown bypass option.\n\nServer-executed tools are different: a tool such as provider-hosted web search is available only when the selected provider exposes a compatible server implementation. macaz disables Codex's OpenAI-hosted web-search request for provider-neutral sessions rather than silently pretending another provider can execute it. Local function, custom, namespace, and MCP tools remain available.\n\nNo translation can make different proprietary models semantically identical. The compatibility target is correct protocol and local-tool behavior without a hidden provider fallback.\n\nOn macOS or Linux:\n\n```\ncurl -fsSL https://raw.githubusercontent.com/macaz-dev/macaz-cli/main/scripts/install.sh | sh\n```\n\nThe installer selects the platform release, requires its entry in\n`SHA256SUMS`\n\n, verifies SHA-256, and installs to `$HOME/.local/bin`\n\nby default.\nPin a release with `--version`\n\n:\n\n```\ncurl -fsSL https://raw.githubusercontent.com/macaz-dev/macaz-cli/main/scripts/install.sh |\n  sh -s -- --version 0.2.0\n```\n\nWindows binaries and other release files are published on\n[GitHub Releases](https://github.com/macaz-dev/macaz-cli/releases).\n\nInstall the latest release in place later with:\n\n```\nmacaz update\n```\n\nThe updater downloads only the exact asset for the current platform, verifies the release checksums and embedded version, and replaces the executable with rollback protection. It does not send prompts, source code, configuration, or provider credentials.\n\nRelease builds perform a short best-effort update check on startup. The check never installs automatically and does not block offline use. Disable it with:\n\n```\nexport MACAZ_NO_UPDATE_CHECK=1\n```\n\n- Go is needed only when building from source.\n`claude`\n\nmust be on`PATH`\n\nto use`macaz claude`\n\n.`codex`\n\nmust be on`PATH`\n\nto use`macaz codex`\n\n.`opencode`\n\nis required only when OpenCode CLI is the selected provider.- A browser is used by the OpenAI Subscription authorization flow.\n\nClaude Code, Codex CLI, and OpenCode are not bundled or redistributed.\n\nThe first invocation of each client opens its own setup:\n\n```\nmacaz claude\nmacaz codex\n```\n\nAvailable upstreams:\n\n| Provider | Claude client | Codex client |\n|---|---|---|\n| OpenAI Subscription | yes | no (use Codex directly) |\n| OpenAI API | yes | no (use Codex directly) |\n| OpenRouter API | yes | yes |\n| Anthropic API | no (use Claude directly) | yes |\n| Codex CLI provider bridge | yes | no (recursive) |\n| OpenCode CLI provider bridge | yes | yes |\n\nAPI keys and OAuth credentials are stored in the operating-system credential\nstore, not in `config.json`\n\n. The Anthropic option uses an Anthropic API key and\nthe public Messages API; it does not use or convert a Claude consumer\nsubscription. Anthropic model IDs, token limits, input capabilities, and effort\nlevels are read from the account's live Models API during setup and startup.\n\nEach start refreshes the active provider catalog. The resulting public model\nIDs and supported reasoning levels are written to the isolated client profile,\nso model selection works through Claude Code's or Codex CLI's native `/model`\n\ninterface. The configured provider default is selected at launch; interactive\nchanges follow the selected client's normal session behavior.\n\n```\nmacaz claude [args...]    Start Claude Code\nmacaz codex [args...]     Start Codex CLI\nmacaz status [client]     Check the configured provider and model catalog\nmacaz doctor [client]     Check the client executable and provider\nmacaz reset [client]      Reset one client, or all macaz state when omitted\nmacaz legal               Show the compatibility notice\nmacaz update              Install the latest verified release\nmacaz version             Show the installed version\n```\n\nArguments after `macaz claude`\n\nor `macaz codex`\n\nare forwarded to that client,\nexcept model/provider/profile overrides that would bypass macaz's authenticated\nlocal routing layer.\n\nExamples:\n\n```\nmacaz claude --dangerously-skip-permissions\nmacaz codex --sandbox workspace-write\nmacaz status codex\nmacaz doctor claude\nmacaz reset codex\n```\n\n`macaz reset claude`\n\nor `macaz reset codex`\n\nremoves only that client's macaz\nconfiguration and isolated profile. It preserves the other client and shared\nprovider credentials. `macaz reset`\n\nwith no client removes both macaz profiles,\nall macaz-managed credentials, configuration, and isolated session history. It\ndoes not remove normal vendor-client profiles or credentials managed directly\nby vendor CLIs.\n\n- The local routing layer listens on a random\n`127.0.0.1`\n\nport. - A new random authentication token is generated for every launch.\n- The token exists only in the child process environment.\n- Config and profile files use private permissions where supported.\n- Normal Claude and Codex profiles are not modified.\n- The local routing process stops when the launched client exits.\n- There is no fallback to a different provider or official model.\n- macaz contains no project-operated analytics or telemetry client.\n\nThe isolated profiles may contain client-owned session history. See\n[PRIVACY.md](/macaz-dev/macaz-cli/blob/main/PRIVACY.md) for exact data flow and deletion behavior.\n\n- OpenAI API and OpenRouter use Responses-compatible HTTP adapters.\n- OpenAI Subscription uses device authorization, refreshes credentials, and applies bounded account retry/backoff. It is experimental and remains subject to OpenAI's current account terms.\n- Anthropic API uses native\n`/v1/models`\n\n,`/v1/messages`\n\n, and`/v1/messages/count_tokens`\n\n. Responses custom tools are converted to normal Anthropic tools with a typed raw-input wrapper and converted back before Codex executes them. - Codex CLI as a provider uses\n`codex app-server`\n\nand is offered only to the Claude client; using Codex as both client and upstream would recurse. - OpenCode CLI uses an isolated request-scoped provider configuration. Its project tools and context are not exposed as a second agent layer.\n\nGo 1.26.5 or newer is required.\n\nRun from source:\n\n```\ngo run ./cmd/macaz version\ngo run ./cmd/macaz claude\ngo run ./cmd/macaz codex\n```\n\nBuild and run a local binary:\n\n```\ngo build -o ./macaz ./cmd/macaz\n./macaz version\n./macaz codex\n```\n\nRun verification:\n\n```\ngo mod verify\ngo test ./...\ngo vet ./...\ngo test -race ./...\n```\n\nBuild a complete local release package into ignored `dist/`\n\n:\n\n```\n./scripts/build-release.sh v1.0.0\n```\n\nThe release script requires an empty output directory and creates static macOS, Linux, and Windows binaries for amd64 and arm64, plus checksums and the installer. To choose another empty directory:\n\n```\nOUTPUT_DIR=/tmp/macaz-release ./scripts/build-release.sh v1.0.0\n```\n\nOpt-in live-provider tests never run in normal CI:\n\n```\nMACAZ_OPENAI_API_INTEGRATION_MODEL=<model> go test ./internal/provider/openai -run LiveOpenAIAPI\nMACAZ_OPENAI_SUBSCRIPTION_INTEGRATION_MODEL=<model> go test ./internal/provider/openai -run LiveOpenAISubscription\nMACAZ_OPENROUTER_INTEGRATION_MODEL=<provider/model> go test ./internal/provider/openrouter -run LiveOpenRouter\nMACAZ_CODEX_INTEGRATION_EXECUTABLE=<codex-or-compatible> go test ./internal/provider/codexcli -run LiveCodex\nMACAZ_OPENCODE_INTEGRATION_MODEL=<provider/model> go test ./internal/provider/opencodecli -run LiveOpenCode\nMACAZ_CLAUDE_INTEGRATION=1 go test ./internal/app -run LiveClaudeLifecycle\n```\n\nEvery merged pull request on `main`\n\nis verified, assigned the next SemVer tag,\nbuilt for all supported platforms, and published as a GitHub Release with\nchecksums, provenance, and generated release notes. The default bump is patch;\nthe `release:minor`\n\nand `release:major`\n\nlabels select larger bumps.\n\nApache License 2.0. See [LICENSE](/macaz-dev/macaz-cli/blob/main/LICENSE), [NOTICE](/macaz-dev/macaz-cli/blob/main/NOTICE), and\n[THIRD_PARTY_NOTICES.md](/macaz-dev/macaz-cli/blob/main/THIRD_PARTY_NOTICES.md).", "url": "https://wpnews.pro/news/macaz-gpt-5-6-inside-claude-code", "canonical_source": "https://github.com/macaz-dev/macaz-cli", "published_at": "2026-07-17 16:36:39+00:00", "updated_at": "2026-07-17 16:51:23.066148+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-infrastructure", "ai-products"], "entities": ["Macaz", "Claude Code", "Codex CLI", "Anthropic", "OpenAI"], "alternates": {"html": "https://wpnews.pro/news/macaz-gpt-5-6-inside-claude-code", "markdown": "https://wpnews.pro/news/macaz-gpt-5-6-inside-claude-code.md", "text": "https://wpnews.pro/news/macaz-gpt-5-6-inside-claude-code.txt", "jsonld": "https://wpnews.pro/news/macaz-gpt-5-6-inside-claude-code.jsonld"}}