Codex przechowuje ustawienia w jednym pliku, config.toml: określa on, którego modelu używać, z jakim API się łączyć i na ile agent może działać bez pytania o zgodę. Format zmieniał się kilka razy w 2026 roku, dlatego w wielu poradnikach opublikowanych wcześniej w tym roku znajdziesz ustawienia, które uniemożliwiają teraz uruchomienie Codex.
W tym poradniku najpierw znajdziesz działającą konfigurację, a potem omówienie elementów, które najczęściej się zmienia: profili, ustawień projektu, piaskownicy i proxy. Na końcu zamieszczamy listę błędów, które najpewniej napotkasz, wraz z objaśnieniem każdego z nich. Poradnik zweryfikowano na podstawie dokumentacji OpenAI i testów w Codex CLI 0.162.1 z 19 października 2026 roku. Przykłady wykorzystują AIHubMix jako dostawcę; tak samo działa każda brama obsługująca OpenAI Responses API.
W skrócie
- Plik znajduje się w
~/.codex/config.tomllub wC:\Users\<you>\.codex\config.tomlw systemie Windows. - Własny dostawca wymaga ustawień
base_url,wire_api = "responses"ienv_key. Klucz API należy przechowywać w zmiennej środowiskowej. - Profile są teraz zapisywane w osobnych plikach
~/.codex/<name>.config.tomli wybierane za pomocą--profile <name>. - Plik
.codex/config.tomlw repozytorium działa tylko w zaufanych projektach i nie może zmieniać dostawcy. - Po każdej zmianie uruchom ponownie Codex — plik jest odczytywany tylko podczas uruchamiania.
Gdzie znajduje się plik config.toml
Główne ustawienia znajdziesz w ~/.codex/config.toml. Odczytują go zarówno CLI, jak i rozszerzenie IDE. Jeśli plik jeszcze nie istnieje, utwórz go.
Ustawienia mogą być dodatkowo określane w dwóch innych miejscach:
- Pliki profili,
~/.codex/<name>.config.toml, używane tylko po uruchomieniu Codex z opcją--profile <name>. - Pliki projektu,
.codex/config.tomlw repozytorium, zawierające ustawienia udostępniane przez zespół.
Jeśli uruchamiasz Codex w WSL2 w systemie Windows, odczytuje on katalog domowy systemu Linux (/home/<you>/.codex/config.toml), a nie plik z systemu Windows. Jeśli ustawiono CODEX_HOME, Codex używa wskazanego katalogu zamiast ~/.codex.
Minimalna działająca konfiguracja
Ten kompletny plik ~/.codex/config.toml kieruje żądania Codex do AIHubMix:
model = "gpt-6-sol"
model_provider = "aihubmix"
model_reasoning_effort = "high"
[model_providers.aihubmix]
name = "AIHubMix"
base_url = "https://aihubmix.com/v1"
wire_api = "responses"
env_key = "AIHUBMIX_API_KEY"
modelto identyfikator wywoływanego modelu, amodel_reasoning_effortokreśla domyślny poziom rozumowania.model_providermusi być zgodny z nazwą w sekcji[model_providers.<name>]. Nie używaj nazwopenai,ollamaanilmstudio— są zarezerwowane dla wbudowanych dostawców Codex.base_urlto adres API dostawcy.wire_api = "responses"to jedyna wartość obsługiwana obecnie przez Codex.env_keyto nazwa zmiennej środowiskowej, a nie sam klucz.
Następnie ustaw tę zmienną, używając klucza z konsoli AIHubMix:
# macOS / Linux: add this line to ~/.zshrc or ~/.bashrc, then open a new terminal
export AIHUBMIX_API_KEY=sk-...
# Windows PowerShell: takes effect in new terminals
setx AIHUBMIX_API_KEY "sk-..."
Uruchom codex z nowego terminala i zadaj mu dowolne pytanie. Jeśli odpowie, dostawca działa. To, czy zalogowano się do Codex, nie ma tu znaczenia: klucz z codex login nigdy nie jest wysyłany do własnego dostawcy.
Profile: osobny plik dla każdej konfiguracji
Profil zawiera tylko ustawienia różniące się od głównej konfiguracji, na przykład głębsze rozumowanie i piaskownicę tylko do odczytu na potrzeby przeglądu kodu. Każdy profil to osobny plik obok config.toml, z kluczami zapisanymi na najwyższym poziomie:
# ~/.codex/review.config.toml
model_reasoning_effort = "xhigh"
sandbox_mode = "read-only"
codex --profile review
Zmiana ta pojawiła się w Codex 0.134.0. W starszych poradnikach profile umieszczano w pliku config.toml w sekcjach [profiles.review], a następnie wybierano za pomocą profile = "review". Codex nie uruchamia się już z takim selektorem. Pozostała w pliku sekcja [profiles.review] jest po prostu ignorowana — bez żadnego komunikatu — więc jej ustawienia przestają działać. Aby przeprowadzić migrację, przenieś klucze z każdej sekcji do pliku ~/.codex/<name>.config.toml, a następnie usuń sekcję i wiersz profile = .... Więcej informacji znajdziesz w zaawansowanym poradniku konfiguracji OpenAI.
Konfiguracja projektu: .codex/config.toml
Plik .codex/config.toml w repozytorium pozwala zespołowi udostępniać domyślny model, poziom rozumowania lub tryb piaskownicy. Codex odczytuje go tylko w projektach oznaczonych jako zaufane w Twoim pliku ~/.codex/config.toml:
[projects."/Users/you/code/my-app"]
trust_level = "trusted"
Plik projektu nie może zmieniać miejsca, do którego trafiają żądania. Codex ignoruje w nim klucze model_provider, model_providers, openai_base_url, profile, notify oraz kilka innych, wyświetlając przy tym ostrzeżenie. Konfigurację dostawcy przechowuj w pliku ~/.codex/config.toml. Projekt nadal może wybrać model, ale żądanie zostanie wysłane do Twojego dostawcy.
Które ustawienie ma pierwszeństwo
Gdy ten sam klucz jest ustawiony w kilku miejscach, obowiązuje kolejność opisana w sekcji Podstawy konfiguracji OpenAI — od najwyższego priorytetu:
- Flagi wiersza poleceń, w tym nadpisania za pomocą
-c - Plik projektu
.codex/config.toml - Profil wybrany za pomocą
--profile - Twój plik
~/.codex/config.toml - Konfiguracja systemowa,
/etc/codex/config.toml - Wbudowane ustawienia domyślne Codex
Pamiętaj, że plik projektu ma pierwszeństwo przed profilem. Jeśli ustawienie profilu wydaje się nie działać, sprawdź, czy w pliku .codex/config.toml repozytorium nie ustawiono tego samego klucza.
Aby zmienić ustawienie tylko na czas jednego uruchomienia, użyj -c:
codex -c model_reasoning_effort=high
Piaskownica i zatwierdzanie
Dwa klucze określają, co Codex może robić samodzielnie. sandbox_mode ustala, do czego mogą mieć dostęp jego polecenia, a approval_policy — kiedy zatrzyma się, aby poprosić Cię o zgodę.
| sandbox_mode | Co mogą robić polecenia |
|---|---|
| read-only | Odczyt plików; każda inna czynność wymaga zgody |
| workspace-write | Zapis w folderze projektu i folderach tymczasowych |
| danger-full-access | Dowolne działania, bez piaskownicy |
| approval_policy | Kiedy Codex prosi o zgodę |
|---|---|
| on-request | Gdy musi wyjść poza piaskownicę |
| never | Nigdy; zablokowane polecenia po prostu kończą się niepowodzeniem |
sandbox_mode = "workspace-write"
approval_policy = "on-request"
[sandbox_workspace_write]
network_access = true # off by default
Te ustawienia są od siebie niezależne: never wyłącza pytania, ale nie znosi ograniczeń piaskownicy. W trybie workspace-write polecenia nie mają dostępu do sieci, dopóki nie ustawisz network_access = true.
Korzystanie z proxy
Codex nie ma ustawienia proxy w pliku config.toml. Korzysta ze standardowych zmiennych środowiskowych:
export HTTPS_PROXY=http://127.0.0.1:7890 # your proxy address
export NO_PROXY=localhost,127.0.0.1
Dokumentacja OpenAI o nich nie wspomina, dlatego przetestowano je w Codex 0.162.1: żądania, również te kierowane do własnego dostawcy, przechodziły przez HTTPS_PROXY (lub ALL_PROXY), a połączenia z hostami wymienionymi w NO_PROXY odbywały się bezpośrednio. Pliki PAC nie są obsługiwane, dlatego wpisz sam adres proxy. Jeśli firmowe proxy korzysta z własnego certyfikatu głównego, wskaż go za pomocą CODEX_CA_CERTIFICATE, zgodnie z opisem w opisie zmiennych środowiskowych.
Więcej modeli w /model
Selektor /model wyświetla tylko modele OpenAI. Aby wybierać z niego modele GLM, Claude, Gemini lub DeepSeek, dodaj katalog modeli: plik JSON wskazany za pomocą klucza najwyższego poziomu model_catalog_json. Umieść ten klucz przed pierwszym wierszem [table], bo inaczej TOML uzna go za część tej sekcji i Codex go zignoruje.
Katalog zastępuje wbudowaną listę, a każdy wpis wymaga wielu pól, dlatego najlepiej wygenerować go automatycznie, zamiast tworzyć ręcznie. Poradnik AIHubMix dotyczący Codex CLI zawiera skrypt, który tworzy katalog na podstawie 30 najpopularniejszych modeli AIHubMix. Aplikacja desktopowa może nadal ukrywać własne modele w selektorze (openai/codex#19694), dlatego zmieniaj modele w terminalu.
Typowe błędy i ich znaczenie
Poniżej znajdziesz komunikaty wyświetlane przez Codex 0.162.1 dla poszczególnych błędów.
legacy profile = "..." config is no longer supported
W pliku config.toml nadal znajduje się stary wiersz profile = "...". Przenieś profil do osobnego pliku zgodnie z wcześniejszym opisem. Uruchomienie --profile x, gdy istnieje stara sekcja [profiles.x], powoduje podobny błąd: --profile x cannot be used while ... contains legacy ... config.
wire_api = "chat" is no longer supported
Codex nie obsługuje już API Chat Completions. Zmień ustawienie na wire_api = "responses". Dostawca obsługujący wyłącznie Chat Completions nie zadziała bez proxy, które tłumaczy format żądań.
model_providers contains reserved built-in provider IDs
Nazwą dostawcy jest openai, ollama lub lmstudio. Zmień nazwę sekcji i wartość model_provider.
approval_policy = "untrusted" is no longer supported
Usuń ten wiersz lub użyj on-request.
Missing environment variable: AIHUBMIX_API_KEY
Zmienna wskazana w env_key nie jest ustawiona w terminalu, z którego uruchomiono Codex. Otwórz nowy terminal albo uruchom source ~/.zshrc, a następnie ponownie uruchom Codex.
401 Unauthorized po kilku wierszach „Reconnecting...”
Żądanie wysłano bez klucza. Sprawdź, czy sekcja dostawcy zawiera env_key. Dane logowania zapisane w auth.json nie działają w przypadku własnych dostawców.
Model metadata for ... not found. Defaulting to fallback metadata
Codex nie ma wbudowanych ustawień dla tego modelu, co jest normalne w przypadku modeli spoza OpenAI. Żądania nadal będą działać. Dodaj katalog modeli, jeśli chcesz uzyskać właściwe ustawienia i wyświetlić model w /model.
Ignored unsupported project-local config keys
Plik .codex/config.toml w repozytorium ustawia klucz, który działa tylko w Twojej własnej konfiguracji — zwykle model_provider. Przenieś go do pliku ~/.codex/config.toml.
missing field base_instructions
Wpis w katalogu modeli nie zawiera wymaganego pola, dlatego Codex odrzuca cały plik. Wygeneruj katalog ponownie za pomocą skryptu, zamiast edytować go ręcznie.
Gdy ustawienie nie zaczyna działać
- Po edycji uruchom ponownie Codex.
- Upewnij się, że klucze najwyższego poziomu znajdują się przed pierwszym wierszem
[table]. - Sprawdź plik
.codex/config.tomlw repozytorium — ma on pierwszeństwo przed profilem. - Sprawdź, czy nie pozostała sekcja
[profiles.x]. - Uruchom
codex doctor, aby sprawdzić instalację, konfigurację i logowanie.
Jeśli chcesz korzystać w Codex z modeli OpenAI, Anthropic, Google, Zhipu, DeepSeek i innych za pomocą jednego klucza, AIHubMix udostępnia je przez Responses API pod adresem https://aihubmix.com/v1. Zacznij od powyższej minimalnej konfiguracji, a gdy zechcesz przełączać modele za pomocą /model, dodaj katalog modeli.
Często zadawane pytania
Gdzie znajduje się plik Codex config.toml?
W systemach macOS i Linux znajduje się w ~/.codex/config.toml, a w Windows w C:\Users<you>.codex\config.toml. Jeśli ustawiono CODEX_HOME, plik znajduje się w tym wskazanym folderze.
Czy po zmianie config.toml muszę ponownie uruchomić Codex?
Tak. Codex odczytuje plik podczas uruchamiania, więc zamknij i ponownie otwórz sesję terminala lub aplikację.
Dlaczego Codex wyświetla komunikat „legacy profile config is no longer supported”?
W Codex 0.134.0 usunięto obsługę profili zdefiniowanych w config.toml. Przenieś każdy profil do pliku ~/.codex/name.config.toml, usuń stare wiersze i uruchom Codex z argumentem --profile name.
Czy nadal mogę używać wire_api = "chat"?
Nie. Codex obsługuje wyłącznie wire_api = "responses". Dostawca obsługujący tylko Chat Completions wymaga proxy, które przekształca żądania na format Responses API.
Dlaczego mój niestandardowy dostawca zwraca błąd 401, mimo że jestem zalogowany w Codex?
Klucz logowania z auth.json nie jest wysyłany do niestandardowych dostawców. Dodaj env_key do tabeli dostawcy i ustaw tę zmienną w terminalu.
Czy Codex korzysta z HTTPS_PROXY?
Tak. W teście przeprowadzonym na Codex 0.162.1 żądania przechodziły przez HTTPS_PROXY, a hosty wymienione w NO_PROXY były pomijane. Pliki PAC nie są obsługiwane.
Dlaczego model_provider jest ignorowany w pliku .codex/config.toml mojego projektu?
Pliki projektu nie mogą zmieniać miejsca, do którego trafiają żądania, więc repozytorium nie może przekierować Twojego ruchu. Ustaw dostawcę w ~/.codex/config.toml; w pliku projektu nadal można określić model.
Źródła
- Podstawy konfiguracji, OpenAI
- Konfiguracja zaawansowana, OpenAI
- Dokumentacja konfiguracji, OpenAI
- Przewodnik integracji z Codex CLI, AIHubMix
- Konfiguracja proxy w Codex CLI: SOCKS, HTTP i sieci firmowe, Daniel Vaughan



