neon - Runtime Brief
Generated: 2026-07-05 | CLI version: 2.30.1 | Findings: 22 failure modes | Scope: Critical
Invoke As
/Users/roman/.hermes/node/bin/neon
Always Include
| Flag / Env var |
Reason |
Sections |
NEON_API_KEY |
Avoid command-line secret exposure and bypass browser OAuth where possible. |
§24, §45 |
--output json |
Request machine-readable output, while still treating errors as possibly prose. |
§2 |
--no-color |
Prevent ANSI/color contamination in captured output. |
§2 |
--no-analytics |
Reduce unrelated side effects and background flush waits. |
§11 |
--config-dir <temp-or-project-dir> |
Isolate credentials and avoid global config contamination. |
§24 |
--context-file <explicit-file> |
Avoid accidental parent-directory .neon discovery. |
§10 |
| External process timeout |
Neon does not expose a general --timeout; wrap every invocation. |
§11, §45 |
Never Do
| Action |
Risk |
Sections |
| Run Neon CLI without credentials in a headless agent session. |
It can launch browser OAuth and wait until killed. |
§10, §45, §64 |
Assume --output json makes errors parseable. |
Missing args, invalid auth, and validation failures used prose stderr. |
§1, §2 |
Pass real API keys via --api-key in command arguments. |
Secrets become visible in command history and process listings. |
§24, §42 |
| Run destructive commands expecting dry-run support. |
projects delete exposes no dry-run or affected-scope preview. |
§23 |
| Retry mutating commands blindly. |
No idempotency-key or effect contract was found. |
§12 |
Watch in Output
| Pattern |
Meaning |
Action |
Awaiting authentication in web browser |
Command entered OAuth/browser flow. |
Kill the process and rerun only with a valid NEON_API_KEY or avoid the path. |
ERROR: Not enough non-option arguments |
Validation failure in prose stderr. |
Treat as non-JSON failure even when --output json was supplied. |
ERROR: Unknown command: - |
api --data - was not accepted as documented in the probe. |
Use a file or literal JSON body and verify parsing before relying on stdin. |
Authentication failed, deleting credentials |
Invalid credential path. |
Do not parse stdout; inspect stderr and isolate --config-dir. |
Score Summary
| Section |
Title |
Severity |
Score |
| §1 |
Exit Codes & Status Signaling |
Critical |
0/3 |
| §2 |
Output Format & Parseability |
Critical |
1/3 |
| §10 |
Interactivity & TTY Requirements |
Critical |
0/3 |
| §11 |
Timeouts & Hanging Processes |
Critical |
0/3 |
| §12 |
Idempotency & Safe Retries |
Critical |
0/3 |
| §13 |
Partial Failure & Atomicity |
Critical |
0/3 |
| §23 |
Side Effects & Destructive Operations |
Critical |
0/3 |
| §24 |
Authentication & Secret Handling |
Critical |
1/3 |
| §25 |
Prompt Injection via Output |
Critical |
0/3 |
| §34 |
Shell Injection via Agent-Constructed Commands |
Critical |
1/3 |
| §37 |
REPL / Interactive Mode Accidental Triggering |
Critical |
0/3 |
| §42 |
Debug / Trace Mode Secret Leakage |
Critical |
1/3 |
| §43 |
Tool Output Result Size Unboundedness |
Critical |
0/3 |
| §45 |
Headless Authentication / OAuth Browser Flow Blocking |
Critical |
0/3 |
| §50 |
Stdin Consumption Deadlock |
Critical |
1/3 |
| §53 |
Credential Expiry Mid-Session |
Critical |
?/3 |
| §60 |
OS Output Buffer Deadlock |
Critical |
?/3 |
| §61 |
Bidirectional Pipe Payload Deadlock |
Critical |
1/3 |
| §62 |
$EDITOR and $VISUAL Trap |
Critical |
?/3 |
| §64 |
Headless Display and GUI Launch Blocking |
Critical |
0/3 |
| §71 |
Non-Interactive Installation Absence |
Critical |
2/3 |
| §74 |
Credential Scope Declaration Absence |
Critical |
0/3 |
Worst gaps (score 0): §1, §10, §11, §12, §13, §23, §25, §37, §43, §45, §64, §74
Partial (score 1-2): §2, §24, §34, §42, §50, §61, §71
Indeterminate (?/3): §53, §60, §62