Codex Agent Plugins e federazione dei cataloghi (v0.147.0): la guida pratica
Il 7 agosto 2026 OpenAI ha rilasciato Codex CLI v0.147.0. Quasi tutta la copertura l'ha ridotta a un unico bullet ("adesso ci sono i plugin, figo"). La release vera cambia quattro cose in un colpo solo, e tre di queste rompono silenziosamente script che probabilmente hai in CI oggi: gli Agent Plugin portabili sostituiscono le installazioni ad-hoc di skill e si fondono su un catalogo a quattro livelli; un nuovo flag --approve-for-me sembra "approva tutto in automatico" ma non lo è; la vecchia scorciatoia --full-auto è rimossa; e Codex ora offre l'opt-in a MCP 2026-07-28 con avvio dei server non bloccante. Ognuno di questi punti ha un'insidia che è bene conoscere prima di aggiornare.
Questa pagina è la guida sul campo pratica per chi già conosce le Skill di Claude Code, i subagent e MCP — e vuole solo sapere cosa fa davvero la versione di Codex, in cosa si differenzia e cosa cambiare nel flusso di lunedì mattina.
- Sapere esattamente cosa è arrivato in Codex CLI v0.146.1 (5 ago) e v0.147.0 (7 ago), e perché insieme contano
- Capire il catalogo a quattro livelli — local, personal, workspace, remote — e le regole di merge/dedup che decidono quale plugin vince davvero
- Leggere correttamente `--approve-for-me`: è un passaggio di revisione, non un bypass della sandbox; la sandbox a livello OS resta attiva
- Migrare via dal flag `--full-auto` rimosso prima che la prossima run di CI fallisca in silenzio
- Decidere quando fare opt-in a MCP 2026-07-28 in Codex — e cosa ti dà davvero l'avvio dei server non bloccante
Il quadro delle due release: 0.146.1 poi 0.147.0
Il rilascio di agosto sono in realtà due release a 48 ore di distanza, e leggerle come una sola confonde cosa è cambiato.
- Una point release silenziosa, ma ha cambiato la *postura di partenza* per i modelli marchiati cyber-capable (la stessa classe che comprende GPT-5.6-Cyber). I default di auto-approvazione si stringono: rete, lettura di credenziali e gestione dei processi ora richiedono un whitelisting esplicito invece di appoggiarsi alla vecchia baseline permissiva. Codex ha anche iniziato a spiegare i cambiamenti di permesso nel terminale — vedi *perché* una richiesta è stata bloccata, non solo che lo è stata.
- La release di punta. I plugin diventano installabili e ricercabili su un catalogo a quattro livelli. Un nuovo flag `--approve-for-me` instrada le approvazioni attraverso un passaggio automatico di revisione invece di chiedere all'umano. La vecchia scorciatoia `--full-auto` è *rimossa* — un breaking change che quasi tutti gli script CI incontreranno. E puoi fare opt-in a MCP 2026-07-28, che sblocca discovery paginato, richieste multi-round e avvio dei server non bloccante.
- Al 13 ago 2026 Codex sta pubblicando build 0.148.0-alpha (da alpha.4 ad alpha.12 in una settimana). Se installi `latest`, potresti finire su una alpha; fissa `rust-v0.147.0` per stabilità finché 0.148.0 non va in GA.
Agent Plugin portabili: cosa è cambiato a livello di file
Codex ha avuto le Skill — una cartella di SKILL.md + fratelli che qualsiasi agente conforme può caricare — per tutto il 2026. La v0.147.0 aggiunge sopra uno strato di package: gli Agent Plugin. Un plugin è un'unità distribuibile che può impacchettare una o più skill, server MCP, prompt e configurazione in un singolo artefatto che installi per nome da un catalogo. Le skill restano portabili tra agenti; i plugin sono lo strato di packaging e distribuzione proprio di Codex.
Lo shift importante è come vengono scoperti. Prima della v0.147.0 copiavi a mano una cartella di skill nel tuo progetto o nella tua cartella personale. Dopo la v0.147.0 Codex guarda in quattro posti e fonde i risultati.
Il catalogo a quattro livelli — e la regola di merge che decide chi vince
Codex cerca in quattro cataloghi in un ordine di precedenza fisso. Quando due cataloghi contengono un plugin con lo stesso nome, vince quello a precedenza più alta e la copia a precedenza più bassa viene nascosta.
| Livello | Posizione | Chi lo possiede | Uso tipico |
|---|---|---|---|
| 1. Local | .codex/plugins/ dentro il repo | Committato nel progetto | Tooling specifico del repo; viaggia con il branch |
| 2. Personal | ~/.codex/plugins/ | Solo tu, sulla tua macchina | I tuoi plugin fatti a mano o sperimentali |
| 3. Workspace | Ambito workspace condiviso col team | Il tuo team | Convenzioni condivise, flussi di review, script di deploy |
| 4. Remote | Root di marketplace che configuri | Vendor + community | Plugin pubblici da marketplace.openai.com o registry interni |
Regola di merge: i risultati sono deduplicati per nome del plugin, e viene mostrata per prima la copia a precedenza più alta. Un plugin terraform-drift committato in .codex/plugins/terraform-drift/ nel tuo repo oscura silenziosamente la versione dello stesso nome nel catalogo remoto. Questo è voluto — i repo devono poter congelare una versione nota come buona — ma è la causa numero uno di "perché il mio plugin si comporta diversamente da come dicono i docs?" dopo un aggiornamento.
:::tip Leggi codex plugin list prima di debuggare il comportamento
codex plugin list mostra i plugin installati con il tier di provenienza da cui ognuno è stato risolto. Se un plugin sta facendo qualcosa di sorprendente, questo è il primo comando da lanciare — la versione che stai usando potrebbe non essere quella che pensi.
:::
Configurare i cataloghi — il config.toml minimo
Gli endpoint di marketplace e il comportamento di auto-update si impostano nel config.toml di Codex. Il default v0.147.0 mantiene auto_update = false, che è la scelta giusta per la riproducibilità ma significa che devi lanciare gli update deliberatamente.
# ~/.codex/config.toml
[plugins]
enabled = true
marketplace_roots = [
"https://plugins.internal.example.com",
"https://marketplace.openai.com"
]
auto_update = false
update_check_interval_hours = 24
Il limite di voci del catalogo è stato alzato da 512 a 2.048 in v0.147.0 — un numero piccolo che conta se punti Codex a un grande registry interno. Sotto 512, i plugin oltre il tetto venivano troncati silenziosamente dai risultati di ricerca; i team enterprise ci sbattevano abbastanza spesso che OpenAI ha alzato il soffitto.
Lavorare con i plugin — i comandi di tutti i giorni
Sfoglia il catalogo fuso in un picker interattivo
/plugins
Cerca su tutti e quattro i tier insieme
codex plugin marketplace search "terraform"
Installa per nome il match a precedenza più alta
codex plugin install terraform-drift
Vedi cosa è installato E da quale tier arriva ciascuno
codex plugin list
Aggiorna ogni plugin installato (opt-in — auto_update di default è off)
codex plugin update
Tre hardening di sicurezza dentro l'install dei plugin
Il percorso di install dei plugin in v0.147.0 ha silenziosamente stretto tre cose — tutte da conoscere perché cambiano cosa significa "l'install funziona".
- Se un pacchetto di plugin contiene un symlink, Codex lo salta invece di seguirlo. Questo blocca un'intera classe di attacchi di path-traversal — un plugin malevolo non può più linkare `plugin/config` → `/etc/passwd`. Il compromesso: i pacchetti legittimi che usavano symlink per asset condivisi devono inlinare tali file.
- I permessi dichiarati dal plugin vengono validati al momento dell'install; una discrepanza (dichiarato: read-only; effettivo: apre socket) nega l'egress di rete invece di limitarsi a un warning. Questo rende il least-privilege il default per la postura di install-time, non un opt-in a runtime.
- Se due plugin registrano un tool con lo stesso nome, l'install fallisce rumorosamente. Prima di v0.147.0 la seconda registrazione oscurava silenziosamente la prima — un footgun da supply-chain in cui un plugin che imita un altro poteva rimpiazzare un tool reale. Ora devi rinominare o disinstallare.
--approve-for-me: cosa fa davvero (e cosa no)
Il nome si legge come "approva ogni richiesta in automatico". Non è ciò che fa il flag. --approve-for-me instrada le richieste di approvazione attraverso un passaggio di revisione automatico che giudica ogni richiesta rispetto alla tua sandbox attiva e alla configurazione di approval-policy. Se la policy dice "sì, è dentro la whitelist", la richiesta procede senza prompt. Se la policy dice "no o non è chiaro", la richiesta è rifiutata — semplicemente non ti viene chiesto in mezzo a una run.
Due cose che restano vere:
- La sandbox a livello OS è comunque applicata. Su Linux via Bubblewrap; su macOS via la sandbox della piattaforma.
--approve-for-menon può evadere dalla sandbox; può solo decidere se auto-rispondere ai prompt dentro di essa. - I modelli cyber-capable ereditano in automatico i default più sicuri di v0.146.1. L'accesso di rete, la lettura di credenziali e la gestione dei processi restano rifiutati salvo whitelisting esplicito, indipendentemente da cosa dica
--approve-for-me.
Il modello mentale giusto: --approve-for-me trasforma il tuo file di policy nell'umano. Se la tua policy è larga, questo flag è pericoloso; se la tua policy è stretta, questo flag è il pezzo mancante per le run non presidiate.
Run interattiva — la policy giudica le approvazioni, la sandbox resta attiva
codex --approve-for-me --sandbox workspace-write "refactor auth and run tests"
Run exec (non interattiva) con un contratto di output strutturato
codex exec --approve-for-me --sandbox workspace-write \
--output-schema '{"type":"object","properties":{"passed":{"type":"boolean"}}}' \
"run the full test suite"Una approval policy minima che si abbina sensatamente al flag:
# ~/.codex/config.toml
[approval_policy]
sandbox_mode = "workspace-write"
[approval_policy.network]
allowed = ["api.github.com", "registry.npmjs.org"]
Tutto ciò che non è in quella allow-list viene rifiutato — anche da --approve-for-me.
Il breaking change silenzioso: --full-auto è rimosso
Se hai CI o Makefile che chiamano codex exec --full-auto, si rompono su v0.147.0. Il flag non c'è più. Il rimpiazzo è esplicito:
# Prima di v0.147.0 (ora rotto)
codex exec --full-auto "run tests"
# Sintassi v0.147.0
codex exec --sandbox workspace-write "run tests"
I due non sono identici: --full-auto combinava una scelta di sandbox e una scelta di approval-policy. La nuova forma richiede di dichiarare esplicitamente la sandbox, e se vuoi riavere la metà "non chiedermi", aggiungi --approve-for-me. Vale la pena fare grep di questo prima di aggiornare un runner condiviso.
MCP 2026-07-28 in Codex — tre cose che ci guadagni davvero
Codex ha reso la nuova spec MCP opt-in in v0.147.0. Attivala quando un server su cui fai affidamento ha migrato; lasciala spenta altrimenti. Tre vincite concrete se giri l'interruttore:
- Discovery paginato. I server che espongono 200+ tool non forzano più una lista gigantesca one-shot; il client scorre le pagine. La latenza al primo tool cala molto.
- Richieste multi-round. Una singola operazione logica può abbracciare diversi round client↔server — pensa a un form interattivo, a una conferma in due step, o a una lettura di risorsa che ritorna un token di follow-up. Prima di 2026-07-28 andava tutto ingozzato in un unico payload.
- Avvio dei server non bloccante. Codex non blocca più il proprio boot sui server MCP lenti. Un server che ci mette 4 secondi a scaldare congelava tutta la CLI; ora Codex parte, e il server viene marcato ready quando lo è.
Come questo si mappa su Claude Code, in una tabella
Se il tuo istinto è Claude, questa è la tabella di traduzione per gli stessi concetti.
| Concetto | Codex CLI (v0.147.0) | Claude Code |
|---|---|---|
| Unità di istruzioni portabile | Skill (cartella SKILL.md) | Skill (cartella SKILL.md) — stesso standard aperto |
| Packaging / distribuzione | Agent Plugin (impacchetta skill, MCP, config) | Marketplace di plugin + install di skill |
| Ambito di discovery | Catalogo a quattro livelli (local → personal → workspace → remote) | Progetto + utente + marketplace |
| Auto-approvazione dentro la sandbox | --approve-for-me + approval_policy | Permessi in ~/.claude/settings.json |
| Applicazione della sandbox | Bubblewrap (Linux) / sandbox macOS | Sandbox con mascheramento delle credenziali |
| Server MCP a lunga durata | Avvio non bloccante (MCP 2026-07-28) | Avvio bloccante salvo opt-in |
| "Istruzioni nel repo" | .codex/plugins/, AGENTS.md | .claude/, CLAUDE.md |
La differenza pratica più grossa: il catalogo a quattro livelli di Codex con lo shadowing in-repo di .codex/plugins/ è più aggressivo del default di Claude Code. È una feature — un repo può fissare una versione di plugin ed essere sicuro che tutti girino su quella — ma significa che "ho aggiornato il plugin e non è cambiato niente" spesso è "il tuo repo ha fissato una copia più vecchia".
Una checklist di migrazione per team già su Codex
- È la causa più comune di una CI verde che diventa rossa dopo che `codex --version` salta di release.
- Lancia `codex plugin list` su un checkout fresco e conferma che ciascun tier di provenienza corrisponda alle aspettative.
- Rinomina il tool di uno dei plugin, oppure disinstalla quello perdente.
- I registry enterprise con più di 512 voci prima venivano troncati silenziosamente; ora ne sono visibili fino a 2.048.
- Il vantaggio è il discovery paginato e l'avvio non bloccante; il requisito è che il *server* implementi la spec.
- Policy larga + questo flag = un agente headless che fa quello che gli pare dentro la sandbox.
Quando i plugin di Codex battono i subagent di Claude — e quando no
I plugin di Codex sono più forti quando l'unità di riuso è un pacchetto di workflow — un flusso di review, una sequenza di deploy, una passata di Terraform-drift — che vuoi spedire come singolo artefatto a un intero team, con versionamento e un marketplace dietro. Il catalogo a quattro livelli è genuinamente utile in organizzazioni che hanno bisogno di "il plugin di reviewer che spedisce il team di piattaforma, a meno che il mio repo non lo sovrascriva".
Il modello subagent-più-skill di Claude Code è più forte quando l'unità di riuso è un ruolo ("code-reviewer", "debugger") che si compone liberamente dentro una singola sessione interattiva, e quando vuoi che lo stesso file giri in ChatGPT, Cursor, Gemini CLI e Codex senza re-package. Le skill restano la primitiva più portabile; i plugin sono lo strato di distribuzione più potente.
La risposta pratica per la maggior parte dei team ad agosto 2026 è entrambi: tieni le skill come primitiva a livello di file così viaggiano tra agenti, e avvolgile in un Codex Agent Plugin quando ti serve il marketplace, la federazione dei cataloghi e il pinning.
Check yourself
0/4Fonti e approfondimenti
- openai/codex — release su GitHub (
rust-v0.146.1, 5 ago 2026 ·rust-v0.147.0, 7 ago 2026 ·0.148.0-alpha.*in corso) - openai/codex PR #36373 — Aggiunta di un flag CLI
--approve-for-me(merge 2026-07-31) - Changelog ChatGPT & Codex — learn.chatgpt.com/docs/changelog
- Codex CLI v0.147.0 deep-dive — codex.danielvaughan.com (10 ago 2026)
- Aggiornamenti Codex — agosto 2026, Releasebot
- Correlati: SKILL.md — lo standard aperto cross-agent · CLI degli agenti di coding a confronto · GPT-5.6-Cyber e Daybreak Red