ICOA CLI
raw JSON → 2.19.110 verified Sat Apr 25 auth: no javascript
The world's first CLI-native CTF competition terminal, now at v2.19.110. Deployed via npm with strict Node.js >=22 requirement. Serves as the primary interface for competing in ICOA CTF events directly from the terminal. Uniquely positioned as a specialized tool for cybersecurity capture-the-flag competitions, differentiating from general CTF frameworks by being CLI-first and tied to the ICOA competition ecosystem.
Common errors
error Error [ERR_REQUIRE_ESM]: require() of ES Module /path/node_modules/icoa-cli/index.js from /path/app.js not supported. ↓
cause Using CommonJS require() on an ESM-only package.
fix
Switch to ESM (import) or use dynamic import().
error node: --experimental-loader /path/node_modules/icoa-cli/loader.mjs requires Node.js v22.0.0 or higher ↓
cause Node.js version too low for package requirements.
fix
Install Node.js >=22.0.0 and retry.
Warnings
breaking Requires Node.js >=22.0.0; older versions cause installation failure. ↓
fix Upgrade Node.js to version 22 or later.
gotcha ESM-only package; using require() causes runtime error. ↓
fix Use import syntax instead of require().
Install
npm install icoa-cli yarn add icoa-cli pnpm add icoa-cli Imports
- default wrong
const icoa = require('icoa-cli')correctimport icoa from 'icoa-cli' - run wrong
const { run } = require('icoa-cli')correctimport { run } from 'icoa-cli'
Quickstart
import icoa from 'icoa-cli';
// Set authentication token via environment
process.env.ICOA_TOKEN = 'your-token-here' ?? '';
// Example: start a competition session
icoa.startCompetition({
event: 'ctf-2025',
team: 'hackers'
}).then(console.log);