Вставь полный JSON ответа https://chatgpt.com/api/auth/session — слева. Справа получишь готовый { "id_token", "client_id", "access_token", "refresh_token", "account_id", "email", "expired", … }, который ждёт cockpit.
// результат появится здесь
/api/auth/session chatgpt.com отдаёт только accessToken. Настоящих id_token и refresh_token там нет — чтобы cockpit не отверг файл, в поле id_token подставляется тот же accessToken. Если в исходном JSON есть refresh_token — подставится он, иначе используется дефолтный токен. Без свежего refresh_token токен умрёт в момент exp (обычно ~10 дней). Для полноценной авторизации забери ~/.codex/auth.json после codex login.