AI Tools

Disable Codex Daemon Auto Start: Matiin Proses Background

Asep Alazhari

Codex CLI nyalain daemon dan update loop di background tiap launch. Matiin dengan daemon_auto_start=false, lalu stop yang udah jalan. Diuji di 0.166.0.

Disable Codex Daemon Auto Start: Matiin Proses Background

Kenapa proses Codex masih jalan terus padahal terminal udah gue tutup? Di Codex CLI 0.166.0, launch pertama codex bakal nyalain app-server managed dan update loop di background. Dua-duanya tetep jalan setelah sesi interaktifnya selesai. Buat matiinnya, jalanin dengan --disable daemon_auto_start, lalu stop yang udah jalan pakai codex app-server daemon stop. Kalau lo masih mikir-mikir apakah Codex CLI layak dipakai, Codex CLI vs Claude Code: Kesan Pertama dan Update 2026 bahas pengalaman sehari-harinya.

Quick Fix

Launch Codex dengan feature-nya dimatiin:

codex --disable daemon_auto_start

Versi override lewat config-nya:

codex -c features.daemon_auto_start=false

Codex juga punya flag --no-daemon, yang kelihatan di codex --help. Gue launch pakai flag itu dan ga ada proses daemon yang nyala.

Buat ngecek status feature tanpa nyalain apa-apa, list feature-nya terus filter:

codex --disable daemon_auto_start features list | grep daemon_auto_start

Di mesin gue outputnya daemon_auto_start stable false. Tanpa flag, command yang sama nunjukin true, dan itu default-nya.

Output terminal yang nunjukin daemon_auto_start stable dan false pakai flag, serta stable dan true tanpa flag

Apa Sih yang Dilakuin Daemon Ini?

Gue jalanin codex di pseudo-terminal dengan setting default. Muncul dua proses:

codex app-server --listen unix:// --analytics-default-enabled --managed-daemon
codex app-server daemon pid-update-loop

Dua-duanya tetep hidup setelah TUI gue tutup. Yang pertama itu backend tempat sesi Codex nyambung lewat Unix socket. Yang kedua itu loop yang ngecek update. Gue ulang launch-nya pakai --disable daemon_auto_start dan pakai -c features.daemon_auto_start=false. Di dua percobaan itu, dua-duanya ga nyala. Install Codex di Linux juga bisa kena error sandbox sebelum semua ini kepake. Kalau kena, lihat Cara Fix Error bwrap di Ubuntu 24.04 Docker untuk Codex CLI.

Status daemon bisa dicek dalam format JSON:

codex app-server daemon version

Pas daemon jalan, outputnya ada "status":"running" dan path socket-nya. Setelah di-stop, command yang sama gagal karena file socket-nya udah ilang.

Gimana Cara Stop Daemon yang Udah Jalan?

Command stop resminya:

codex app-server daemon stop

Outputnya "status":"stopped". Tapi di mesin gue, update loop ikut mati. pid-update-loop masih ada di daftar proses. Gue matiin pakai PID-nya:

pgrep -fl "pid-update-loop|managed-daemon"
kill <PID>

Jalanin pgrep lagi buat mastiin ga ada yang nyisa. Kalau lo butuh daemon-nya nyala lagi, start pakai:

codex app-server daemon start

Gimana Biar Tetap Mati di Setiap Launch?

Flag itu cuma berlaku untuk satu launch. Kalau mau feature-nya mati di setiap launch, setting yang sama ditaruh di bagian [features] di ~/.codex/config.toml:

[features]
daemon_auto_start = false

Codex bisa nulis baris itu buat lo lewat codex features disable daemon_auto_start, yang ada di codex features --help. Command itu belum gue jalanin, jadi config gue tetap sama dan bentuk file-nya juga belum gue tes di mesin gue. Abis lo pakai salah satunya, jalanin codex features list dan pastiin daemon_auto_start nunjukin false. Terus launch sekali dan cek pakai pgrep kalau ga ada proses managed yang nyala.

Apa Tambahan dari Laporan Issue

Perilaku yang dibahas di sini pertama kali dilaporin di openai/codex issue 48195, yang minta feature ini jadi opt-in. Laporannya ditulis di versi 0.157.0, dan sampai artikel ini ditulis masih open. Detailnya itu punya reporter, bukan hasil tes gue, jadi anggap itu klaim yang perlu lo cek sendiri:

  • Daemon nyalin full platform package, sekitar 374 MB, ke ~/.codex/packages/app-server-daemon/releases/<version>/. Di mesin gue folder releases itu memang ada, dan backend yang jalan pakai path versi di dalamnya.
  • Update loop ngecek release baru beberapa menit setelah start, lalu tiap jam. Laporan itu bilang loop ini bisa nge-restart backend, dan itu bisa motong turn yang lagi jalan. Teks help daemon update di mesin gue juga bilang gitu: “may interrupt running work”.
  • Daemon nyimpen environment variable dari sesi yang nyalain dia, termasuk setting proxy. Ini belum gue tes.

Karena laporannya pakai 0.157.0 dan gue tes 0.166.0, default-nya bisa aja udah berubah di antara dua versi itu. Cek codex features list di versi lo sendiri sebelum lo ngandelin default.

Kesimpulan

Pakai --disable daemon_auto_start buat satu launch, atau set daemon_auto_start = false di config.toml buat setiap launch. Stop yang udah jalan pakai codex app-server daemon stop, lalu cek pid-update-loop dan matiin kalau masih ada.

Back to Blog

Related Posts

View All Posts »