Skip to main content

Uatu

AI-powered system troubleshooting agent using Claude.

autu-demo

What it does:

  • Chat with your system to diagnose issues
  • Pipe logs directly for instant analysis
  • Approve commands before execution with granular controls
  • Connects symptoms across CPU, memory, network, and processes

Platforms:

  • macOS
  • Linux

Installation

Using pipx (recommended)

# Install with pipx for isolated environment
pipx install uatu

# Configure API key
echo "ANTHROPIC_API_KEY=your_key" > .env

Using pip

# Install globally or in a virtual environment
pip install uatu

# Configure API key
echo "ANTHROPIC_API_KEY=your_key" > .env

From source with uv

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone and install
git clone https://github.com/fractalops/uatu.git
cd uatu
uv sync

# Configure API key
echo "ANTHROPIC_API_KEY=your_key" > .env

Quick Start

Interactive Chat

Start a troubleshooting session:

# Read-only mode (default) - uses MCP tools, no bash
uatu

# Allow bash commands with approval prompts
UATU_READ_ONLY=false uatu

Example questions:

  • "What's causing high CPU usage?"
  • "Why is my server running slowly?"
  • "Investigate recent memory issues"
  • "What's listening on port 8080?"

Commands require approval unless allowlisted.

Stdin Mode

Pipe data for analysis:

# Read-only (default) - MCP tools only
cat /var/log/app.log | uatu "find errors"

# Enable bash commands (requires UATU_READ_ONLY=false)
UATU_READ_ONLY=false journalctl -u myservice | uatu "why did this crash?"

# Safe bash commands (ps, df, top, etc.) auto-approve from allowlist
UATU_READ_ONLY=false ps aux | uatu "diagnose memory issues"

Allowlisted commands auto-approve in stdin mode. TTY required for interactive approval prompts.

Configuration

Create .env:

# Required
ANTHROPIC_API_KEY=your_key

# Security (defaults shown)
UATU_READ_ONLY=true                     # true: MCP tools only, false: allow bash
UATU_REQUIRE_APPROVAL=true              # Require approval before bash execution
UATU_ALLOW_NETWORK=false                # Allow network access (WebFetch, WebSearch)

# Agent features
UATU_MODEL=claude-sonnet-4-5-20250929  # Claude model
UATU_ENABLE_SUBAGENTS=true              # Specialized diagnostic agents
UATU_ENABLE_SKILLS=true                 # Filesystem-based agent skills
UATU_MAX_BACKGROUND_JOBS=2              # Concurrent background bash jobs

# UI options
UATU_CONSOLE_WIDTH=80                   # Terminal width (80, 0=full, None=auto)
UATU_SHOW_TOOL_PREVIEWS=true            # Show tool result previews
UATU_SHOW_STATS=true                    # Show session token/cost stats

# Telemetry (opt-out)
UATU_ENABLE_TELEMETRY=true              # Local session telemetry
UATU_TELEMETRY_PATH=~/.uatu/telemetry.jsonl

Security

Command Approval

Bash commands require approval unless allowlisted:

⚠ Bash command approval required
Risk: Credential Access

⚠ Warning: This command may access SSH keys, certificates, or other credentials

ls -la ~/.ssh/

  ○ Allow once
  ○ Always allow (exact)
  → Deny

Audit Log

Security decisions are logged to ~/.config/uatu/audit.jsonl:

# View audit log (last 100 events)
uatu audit

# View recent events
uatu audit --last 20

# View specific event types
uatu audit --type bash_command_approval

# View summary statistics
uatu audit --summary

Allowlist

Manage approved commands in ~/.config/uatu/allowlist.json:

# View directly
cat ~/.config/uatu/allowlist.json

# In interactive chat (with tab completion)
/allowlist                    # Show approved commands
/allowlist add <command>      # Add to allowlist
/allowlist remove <pattern>   # Remove from allowlist
/allowlist clear              # Clear all

Development

# Run tests
uv run pytest

# Lint
uv run ruff check .

# Format
uv run ruff format .

License

This project is licensed under the MIT License - see the LICENSE file for details.

Built With

Metadata

Release files for uatu 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uatu 0.1.15
File Size Uploaded
uatu-0.1.15.tar.gz 9.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for uatu 0.1.15
File Interpreter ABI Platform
uatu-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 9.7 MB

Release files / uatu-0.1.15.tar.gz

Download URL uatu-0.1.15.tar.gz
Size 9.6 MB
Tags Source
SHA-256 checksum
How to use checksums
f4047c6fdcffed689e9aceed01f95884b7228b9e14eba1ea9794937dd35e46fa
BLAKE2b-256 checksum
How to use checksums
097ab2ac578dd1622507c9ee850e079e32a7468112d5046608e3fc21e399f276
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 16, 2025.

Transparency log

Release files / uatu-0.1.15-py3-none-any.whl

Download URL uatu-0.1.15-py3-none-any.whl
Size 99.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc0f08b1b36cac6419b89340435342436236f69b8b397dd74faa23fba39d40cc
BLAKE2b-256 checksum
How to use checksums
c35e81239625b205a57f832a26e42ee733634d753107fe2ad9bcbdd5b301cc53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 16, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.15 This release

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page