Use lyt with Claude Code, Codex, and other AI agents.
lyt lets Claude Code, Codex, and other terminal agents save permitted audio and video locally, with safe defaults and the exact file path back as JSON.
How do I install the lyt skill for Claude Code or Codex?
Install the CLI once, then add the direct skill for the agent you use. Approve global installation before running these commands.
npm install --global @tanattv/lyt
lyt doctorFor Claude Code, install the skill:
lyt agent install claudeFor Codex, install the skill:
lyt agent install codexTo install both at once, run lyt agent install all.
Claude Code loads the skill from ~/.claude/skills/lyt/. Codex loads it from ~/.agents/skills/lyt/. Run the installer again after upgrading. It does not delete older or custom skill copies.
Installing a skill makes it available. The agent decides when to use it based on the task and its configuration, so name lyt in your prompt when you want certainty.
Can I install lyt as a Claude Code or Codex plugin?
Yes. Compatible Codex and Claude Code versions can install the plugin packages published in this repository. Use the marketplace path instead of the direct skill if your agent version supports it.
codex plugin marketplace add TanaTTV/lyt
codex plugin add lyt@lyt-pluginsclaude plugin marketplace add TanaTTV/lyt
claude plugin install lyt@lyt-pluginsWhat should I ask Claude Code or Codex to do?
Name the media, the format, and the limit. Replace URL with a link you have the rights to use.
This is my upload. Save the audio from this URL as a 192 kbps MP3 and tell me where it was saved.
This is my video. Download it at up to 1080p, keep it under 100 MB, and give me the saved path.
From my video, save only 00:10 through 00:20 at up to 720p and report the final file path.
Each request maps to one bounded command. The agent runs it with --json and reads the result.
What does the lyt JSON result look like?
Add --json and lyt writes one lyt.result.v1 document to stdout. Progress and setup diagnostics go to stderr, so a parser never has to scrape terminal text.
lyt --mp3 -q 192K --max-filesize 100M --json "URL"Check ok and the exit status first. Then read results[].files and report those exact paths. Illustrative result:
{
"schema": "lyt.result.v1",
"version": "0.8.2",
"command": "download",
"ok": true,
"results": [
{
"url": "URL",
"status": "downloaded",
"mode": "audio",
"files": [
"/downloads/example.mp3"
],
"outputDir": "/downloads"
}
]
}A dry run proves planning, not a saved file. Verify that the reported path exists before you tell the user the download finished.
How can an agent inspect a URL and the CLI before downloading?
Inspection returns metadata and formats without downloading media. With --no-download it also skips managed tool setup. Discover the CLI surface once per session instead of parsing help text.
lyt info --no-download --json "URL"lyt capabilities --jsonlyt doctor --jsonlyt.info.v1 describes what a URL offers. lyt capabilities --json returns lyt.capabilities.v1, the commands, flags, and schemas. lyt doctor --json describes the local environment.
Can Gemini CLI or ChatGPT use lyt?
Gemini CLI and any other terminal-capable agent can run the installed lyt CLI through its shell tool. No skill is required, but the same JSON flags apply.
ChatGPT can read the product facts on the AI facts page. It can run lyt on your machine only through a connected local tool.
What safety defaults do agents get for free?
- One item per URL. Playlist downloads need
--playlist. - Existing final files are preserved. Overwrites need
--force-overwrite. --dry-runplans a job without downloading media or installing tools.--max-filesizeskips media larger than your limit and reports why.- Local history avoids repeat downloads unless you pass
--redownload. - Browser cookies, external downloaders, and SponsorBlock stay off unless you enable them.
Permission-first rule for agents
Download only media you own, have permission or a license to use, public-domain works, or media covered by an applicable exception. lyt does not bypass DRM, paywalls, or access controls. If global installation or managed tool setup has not been approved in the conversation, ask once before running it.
Which guide fits my task?
Frequently asked questions
Can Claude Code download YouTube audio with lyt?
Yes, after you install the direct skill with lyt agent install claude. Claude Code can then run lyt with --json, read the result, and report the exact saved path. Download only media you have the rights to use.
How do I install the lyt skill for Codex?
Install the CLI with npm install --global @tanattv/lyt, then run lyt agent install codex. The skill is installed to ~/.agents/skills/lyt/. Run the installer again after upgrading lyt.
Does lyt give AI agents JSON output?
Yes. With --json, stdout contains one lyt.result.v1 document. Setup and progress diagnostics go to stderr. Successful final file paths are listed in results[].files.
Can an agent check a URL before downloading it?
Yes. lyt info --no-download --json "URL" returns metadata and available formats without downloading media. It still contacts the media host, so it is not an offline check.
Does installing the lyt skill make an agent download anything?
No. The skill makes lyt available to the agent. The agent chooses it based on the task and its configuration, and every download still needs a permitted purpose and must follow the agent's own policies.
Can an agent download a whole playlist with lyt?
Not by default. lyt downloads one item per URL. Playlist downloads require the explicit --playlist flag.