xNaut: Instructions file for Claude Code

CLAUDE.md

xNaut CLAUDE.md is an instructions file for Claude Code from 48Nauts-Operator/xNaut. It costs 6,970 tokens per session, scanned D, original, MIT.

Repository instructions for xNaut, a native terminal application with a Rust backend and web-based frontend. They describe the project and warn about checking browser globals that can silently do nothing.

In plain words
What is it for?
Use them when changing or debugging xNaut’s terminal, frontend, backend, SSH, workflow, or AI features.
Why use it?
They give coding agents project context and highlight a failure that ordinary syntax checks, builds, and tests may miss.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: mentions CLAUDE.md; positional $N argument; mentions Claude Code.

This is 48Nauts-Operator/xNaut's own configuration. It tells Claude Code how to work on xNaut itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything xNaut configures →

Reuse

Borrowing it

Nothing to install: this file belongs to 48Nauts-Operator/xNaut. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/48Nauts-Operator/xNaut/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/48Nauts-Operator/xNaut

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for xNaut CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/48nauts-operator/xnaut/claude-md/github.svg)](https://agentmods.dev/instructions/48nauts-operator/xnaut/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/48nauts-operator/xnaut/claude-md"><img src="https://agentmods.dev/badge/instructions/48nauts-operator/xnaut/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for xNaut CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/48nauts-operator/xnaut/claude-md"><img src="https://agentmods.dev/badge/instructions/48nauts-operator/xnaut/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 6,970 This file is loaded in full into every session.
When invoked 6,970 The same file — it is already loaded in full.
Security scan D 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.06970 $0.06970
Opus 5.5 $0.02788 $0.02788
Sonnet 5.5 $0.01394 $0.01394
Haiku 4.5 $0.00697 $0.00697

Measured 24d ago against content hash d3b4c2989482, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade D, and why

xNaut CLAUDE.md scanned grade D with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 24d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

sudo apt-get install -y \

Reaches for credential fileshighPrivilege escalation

SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.

- Check key permissions: `chmod 600 ~/.ssh/id_rsa`
CLAUDE.md · 812 lines

How it starts

The opening of the file, as written. The whole thing — 812 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

xNAUT is an AI-powered native terminal application built with Tauri v2, combining Rust backend performance with a modern web-based frontend. Originally converted from "Naiterm" (Node.js terminal app) to a native macOS application for better performance and smaller binary size (~5-10MB vs Electron's ~500MB).

Key Features

  • Multiple PTY sessions with tab management
  • SSH connection support with config file integration
  • AI chat integration (Anthropic, OpenAI, OpenRouter, Perplexity)
  • Workflow recording and playback
  • Smart triggers and notifications
  • Session sharing capabilities

Current Status

✅ Build-ready with critical ACL permissions fix applied ⚠️ Terminal functionality needs verification after ACL fix

Grep before you call a window.* global

An undefined global in JavaScript is a silent no-op, not a crash. It survives node --check, a clean build, a green test suite and a code read — and then the feature just quietly does nothing, forever, with no error to notice.

Hit for real 2026-08-08: the roster panel called window.xnautActiveProjectKey, which had never existed. The expression short-circuited to null, so the per-project scope silently fell back to global. Nothing errored.

The trap has a second floor. Exporting the missing global as a function while the call site treats it as a value is worse than the original bug: a function object is truthy, so it gets used as data — in that case as a localStorage key, writing settings to xnaut-agent-roster:function () { return activeProjectId…. Still no error.

So: before calling window.something, grep for where it is assigned. If it does not exist, export it properly and fix the call site to match its shape. This is the same failure class as the gate-path bug the same day — passes every automated check, silently wrong — and it is worth the ten seconds every time.

Read the full file on GitHub · 812 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 24d ago First seen · 812 lines · 6,970 tokens per session scan D d3b4c2989482

Subscribe to this mod's changes

xNaut CLAUDE.md is an instructions file published in the GitHub repository 48Nauts-Operator/xNaut (6 stars, last pushed 15d ago), licensed MIT. It adds 6,970 tokens to every session, about $0.0279 per session on Opus 5.5. A static security scan graded it D with 2 findings (asks for root, reaches for credential files). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-04.

Related

Other instructions, from other repositories