# ── who may drive this bridge ─────────────────────────────────────────────── # Comma-separated phone numbers in international form, digits only (no +). # Anyone not listed is refused. Leave empty to allow only the "Message yourself" # chat of the linked account. TINYCLAW_ALLOWED=15551234567 # May run /allow and /deny. Defaults to the first entry of TINYCLAW_ALLOWED. #TINYCLAW_OWNER=15551234567 # Accept commands typed in the linked account's own chat ("Message yourself"). # This is the simplest setup: link tinyclaw to your own WhatsApp as a device, # then message yourself. Default: true. #TINYCLAW_SELF_CHAT=true # Respond inside group chats when an allowed participant messages. Default: false. #TINYCLAW_ALLOW_GROUPS=false # ── login ─────────────────────────────────────────────────────────────────── # Set to receive an 8-character pairing code instead of scanning a QR. # Must be the number of the phone you will link from, digits only. #TINYCLAW_PAIR_NUMBER=15551234567 # Where the WhatsApp device credentials live. Treat this like a password file. #TINYCLAW_AUTH_DIR=./.auth #TINYCLAW_STATE_FILE=./.state/chats.json # ── workspaces ────────────────────────────────────────────────────────────── # Directory new chats start in. #TINYCLAW_DEFAULT_CWD=/home/muks # Extra directories to always offer in /dirs, beyond those discovered from # existing CLI sessions. #TINYCLAW_WORKSPACE_ROOTS=/home/muks/proj,/srv/app # ── agents ────────────────────────────────────────────────────────────────── #TINYCLAW_CLAUDE_BIN=claude #TINYCLAW_CODEX_BIN=codex #TINYCLAW_COPILOT_BIN=copilot #TINYCLAW_CLAUDE_MODEL=opus #TINYCLAW_CODEX_MODEL=gpt-5.4 #TINYCLAW_COPILOT_MODEL=claude-sonnet-5 # read — agents may look but not touch # write — agents may edit files (claude will still refuse shell commands here) # full — no restrictions; what you want if you are driving this from a phone #TINYCLAW_DEFAULT_PERMISSION=full # Kill an agent turn that goes this long without emitting anything. #TINYCLAW_AGENT_IDLE_TIMEOUT_MS=900000 # ── shell ─────────────────────────────────────────────────────────────────── #TINYCLAW_SHELL=/bin/bash #TINYCLAW_SHELL_TIMEOUT_MS=1800000 #TINYCLAW_MAX_OUTPUT_CHARS=12000 # Require the !! prefix for obviously destructive commands. Default: true. #TINYCLAW_GUARD_SHELL=true # ── presentation ──────────────────────────────────────────────────────────── #TINYCLAW_CHUNK_SIZE=3000 #TINYCLAW_EDIT_INTERVAL_MS=1500 #TINYCLAW_ACTIVITY_LINES=8 # ── attachments ───────────────────────────────────────────────────────────── # Inbound photos, videos, voice notes and documents are written here and the # agent is prompted with the path. Files are pruned once they are older than # the retention window. Defaults: $TMPDIR/tinyclaw-media, 64 MiB, 24 hours. #TINYCLAW_MEDIA_DIR=/tmp/tinyclaw-media #TINYCLAW_MEDIA_MAX_BYTES=67108864 #TINYCLAW_MEDIA_RETENTION_HOURS=24 # Marker put in front of everything the bridge sends. Linked as a companion # device on your own number, its replies arrive in the chat from you and look # exactly like what you typed; this tells them apart. Set empty to turn off # (e.g. when the bridge runs on its own number and WhatsApp already separates # the two sides). Default: 🤖 #TINYCLAW_BOT_PREFIX=🤖 #TINYCLAW_VERBOSE=true # ── logging ───────────────────────────────────────────────────────────────── #TINYCLAW_LOG_LEVEL=info #TINYCLAW_WA_LOG_LEVEL=silent