BigPizzaV3/CodexPlusPlus · error
No DevTools target configured
Error message
No DevTools target configured
What it means
The routes handler open_devtools requires a configured DevTools target (target id/URL) before it can open inspector tooling. The error fires when no DevTools target has been set on the handler state — typically because the Codex app was not launched with remote debugging or the target was not registered yet.
Source
Thrown at crates/codex-plus-core/src/routes.rs:450
async fn reload_user_scripts(&self) -> anyhow::Result<Value> {
if let (Some(user_scripts), Some(websocket_url), Some(evaluator)) = (
&self.user_scripts,
self.websocket_url.as_deref(),
&self.user_script_evaluator,
) {
let bundle = user_scripts.build_enabled_bundle()?;
if !bundle.trim().is_empty() {
evaluator(websocket_url, &bundle)?;
}
}
self.user_script_inventory().await
}
async fn open_devtools(&self) -> anyhow::Result<Value> {
let target_id = self
.devtools_target_id
.as_deref()
.ok_or_else(|| anyhow::anyhow!("No DevTools target configured"))?;
let url = devtools_url(self.debug_port, target_id);
if let Some(opener) = &self.devtools_opener {
opener(&url)?;
}
Ok(json!({
"status": "ok",
"target_id": target_id,
"url": url
}))
}
async fn open_manager(&self) -> anyhow::Result<Value> {
let target = crate::install::spawn_companion(
crate::install::MANAGER_BINARY,
std::iter::empty::<&str>(),
)?;
Ok(json!({
"status": "ok",View on GitHub (pinned to f2074595a2)
Solutions
- Launch/restart the Codex app so a debug target is registered
- Retry after the app finishes starting
- Check that remote debugging is enabled in the launch configuration
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at crates/codex-plus-core/src/routes.rs:450 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23).
Data as JSON: /api/errors/2f92914ca2109aac.
Report an issue: GitHub.