Waitlist CLI for Texas Roadhouse. Find a nearby store, read the quote, join and leave the list.
Unofficial integration. This project is not affiliated with or endorsed by Texas Roadhouse. It uses browser-observed, undocumented endpoints that can change without notice. Joining the waitlist sends guest name, email address, phone number, and party details to Texas Roadhouse. Do not put that identity on argv flags (shell history / ps). Pass stdin JSON, --guest-file, or TEXAS_ROADHOUSE_GUEST_* env vars. --dry-run redacts guest fields. Hidden name/email/phone flags are a private --yes path only. Never paste --dry-run output containing real PII into shared logs.
MCP privacy boundary: the MCP server intentionally does not expose waitlist submit, because MCP hosts can retain tool-call arguments in transcripts or logs. Use the CLI's stdin JSON, --guest-file, environment, or interactive-prompt flow for a guest join.
Last endpoint verification: 2026-08-29. A Cloudflare challenge or HTTP 403 can mean the browser-facing endpoint changed or rejected the Chrome-compatible transport; retrying a mutation is unsafe until --dry-run and a fresh read request succeed.
Learn more at Texas Roadhouse.
Quick Start
1. Install
See Install above.
2. Verify Setup
texas-roadhouse-pp-cli doctor
This checks your configuration.
3. Try Your First Command
texas-roadhouse-pp-cli mapbox 65804
Usage
Run texas-roadhouse-pp-cli --help for the full command reference and flag list.
Paths & environment variables
This CLI separates local files into four path kinds:
| Kind | Contents |
|---|
config | User-editable settings such as config.toml and saved profiles |
data | Durable local data such as data.db |
state | Runtime state such as persisted queries, jobs, and teach.log |
cache | Regenerable HTTP/cache files |
Each kind resolves independently. The ladder is:
- Per-kind env var:
TEXAS_ROADHOUSE_CONFIG_DIR, TEXAS_ROADHOUSE_DATA_DIR, TEXAS_ROADHOUSE_STATE_DIR, or TEXAS_ROADHOUSE_CACHE_DIR
--home <dir> for this invocation
TEXAS_ROADHOUSE_HOME for a flat relocated root
- XDG env vars:
XDG_CONFIG_HOME, XDG_DATA_HOME, XDG_STATE_HOME, XDG_CACHE_HOME
- Platform defaults matching existing installs
For containers and agent sandboxes, prefer a single relocated root:
export TEXAS_ROADHOUSE_HOME=/srv/texas-roadhouse
texas-roadhouse-pp-cli doctor
Under TEXAS_ROADHOUSE_HOME=/srv/texas-roadhouse, the four dirs resolve to /srv/texas-roadhouse/config, /srv/texas-roadhouse/data, /srv/texas-roadhouse/state, and /srv/texas-roadhouse/cache.
MCP servers do not receive CLI flags from the host. Put relocation in the host env block:
{
"mcpServers": {
"texas-roadhouse": {
"command": "texas-roadhouse-pp-mcp",
"env": {
"TEXAS_ROADHOUSE_HOME": "/srv/texas-roadhouse"
}
}
}
}
Precedence matters in fleets: an ambient per-kind variable such as TEXAS_ROADHOUSE_DATA_DIR overrides an explicit --home for that kind. Use TEXAS_ROADHOUSE_HOME or the per-kind variables for durable fleet relocation; treat --home as the weaker per-invocation lever.
Relocation is one-way. Unsetting TEXAS_ROADHOUSE_HOME does not move files back to platform defaults, and doctor cannot find files left under a former root. Move the files manually before unsetting relocation variables.
Existing installs keep working because the platform-default rung matches the legacy layout. Run texas-roadhouse-pp-cli doctor --fail-on warn to check path warnings in automation.
Commands
mapbox
Operations on mapbox.places
texas-roadhouse-pp-cli mapbox <id> - GET /api/mapbox/geocoding/v5/mapbox.places/{id}
stores
Operations on near
texas-roadhouse-pp-cli stores - GET /api/stores/near
texasroadhouse
Operations on test
texas-roadhouse-pp-cli texasroadhouse cancel - Cancel a waitlist request. Guests can also text REMOVE to leave; CLI leave is this cancel command. Live cancel requires --yes; --dry-run previews without POSTing.
texas-roadhouse-pp-cli texasroadhouse checkin - Mark the party HERE after the guest texts HERE once everyone has arrived (text REMOVE to leave). Not a host-stand visit. Live check-in requires --yes; --dry-run previews without POSTing.
texas-roadhouse-pp-cli texasroadhouse get-quote - GET /api/texasroadhouse/waitlist/{waitlist_id}/quote
texas-roadhouse-pp-cli texasroadhouse get-settings - GET /api/texasroadhouse/waitlist/{waitlist_id}/settings
texas-roadhouse-pp-cli texasroadhouse get-status - GET waitlist request status. Query clientid=texasroadhouse.
texas-roadhouse-pp-cli texasroadhouse get-test - GET /api/texasroadhouse/waitlist/{waitlist_id}/test
texas-roadhouse-pp-cli texasroadhouse submit - Join a store waitlist. Guest PII comes from stdin JSON, --guest-file, or TEXAS_ROADHOUSE_GUEST_* env vars, not argv flags. Live join requires --yes; --dry-run previews a redacted body without POSTing.
Self-learning loop
This CLI caches per-question discovery so repeat queries skip the walk and structurally similar queries get answered via entity substitution. The loop also self-captures: every invocation is journaled locally, and failed-flag corrections plus fresh teaches surface as candidates on the next recall for confirm/reject judgment. Agents call recall before discovery and fire teach & after answering. See the ## Automatic learning section in SKILL.md for the full protocol.
texas-roadhouse-pp-cli recall <query> - Look up cached resources for a query before running discovery
texas-roadhouse-pp-cli teach - Record a query -> resource mapping (silent on success, safe to background with &)
texas-roadhouse-pp-cli learnings list - Inspect taught rows
texas-roadhouse-pp-cli learnings forget <query> - Undo a teach
texas-roadhouse-pp-cli learnings candidates - List auto-captured candidates awaiting confirm/reject
texas-roadhouse-pp-cli learnings stats - Local loop metrics: recall hit rate, teach-to-reuse, playbook resolution, candidate counts
texas-roadhouse-pp-cli teach-pattern - Install a query/resource template up front
texas-roadhouse-pp-cli teach-lookup - Add an entity mapping (e.g. country code, team alias) for pattern substitution
Pass --no-learn or set TEXAS_ROADHOUSE_NO_LEARN=true to disable the loop for deterministic flows.
The local store's schema version stamp is one-way: once this version of texas-roadhouse-pp-cli opens the database, older binaries refuse it with a version error — upgrade the binary rather than downgrading.
Output Formats
# Human-readable table (default in terminal, JSON when piped)
texas-roadhouse-pp-cli mapbox 65804
# JSON for scripting and agents
texas-roadhouse-pp-cli mapbox 65804 --json
# Filter to specific fields
texas-roadhouse-pp-cli mapbox 65804 --json --select bbox,center,context
# Dry run — show the request without sending
texas-roadhouse-pp-cli mapbox 65804 --dry-run
# Agent mode — JSON + compact + no prompts in one flag
texas-roadhouse-pp-cli mapbox 65804 --agent
Agent Usage
This CLI is designed for AI agent consumption:
- Non-interactive -
--agent never prompts; guest name/email/phone belong on stdin JSON, --guest-file, or env vars, not argv flags
- Pipeable -
--json output to stdout, errors to stderr
- Filterable -
--select <field>[,<field>...] returns only fields you need
- Previewable -
--dry-run shows the request without sending
- Explicit retries - add
--idempotent to create retries when a no-op success is acceptable
- Explicit confirmation -
--agent does not imply --yes; pass --yes separately only after the target, arguments, and side effects are clear
- Piped input - write commands can accept structured input when their help lists
--stdin
- Offline-friendly - sync/search commands can use the local SQLite store when available
- Agent-safe by default - no colors or formatting unless
--human-friendly is set
Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.
Health Check
texas-roadhouse-pp-cli doctor
Verifies configuration and connectivity to the API.
Configuration
Run texas-roadhouse-pp-cli doctor to see the resolved config, data, state, and cache directories. The platform-default config path is ~/.config/texas-roadhouse-pp-cli/config.toml; --home, TEXAS_ROADHOUSE_HOME, and per-kind env vars can relocate it.
Static request headers can be configured under headers; per-command header overrides take precedence.
Troubleshooting
Not found errors (exit code 3)
- Check the resource ID is correct
- For a store lookup, run
texas-roadhouse-pp-cli stores --lat <lat> --long <lon> and use the returned store extref; this CLI has no top-level list command
HTTP Transport
This CLI uses Chrome-compatible HTTP transport for browser-facing endpoints. It does not require a resident browser process for normal API calls.
TLS certificates are verified by default. For a trusted development or self-signed endpoint only, pass --insecure for one invocation, set TEXAS_ROADHOUSE_SKIP_TLS_VERIFY=true for the current environment, or set skip_tls_verify = true in the config file for a persistent override.
Discovery Signals
This CLI was generated with browser-captured traffic analysis.
- Target observed: https://www.texasroadhouse.com/api/mapbox/geocoding/v5/mapbox.places/65804.json
- Capture coverage: 7 API entries from 7 total network entries
- Reachability: standard_http (65% confidence)
- Protocols: rest_json (75% confidence)
- Candidate command ideas: get_mapbox.places — Derived from observed GET /api/mapbox/geocoding/v5/mapbox.places/{id} traffic.; get_quote — Derived from observed GET /api/texasroadhouse/waitlist/{waitlist_id}/quote traffic.; get_settings — Derived from observed GET /api/texasroadhouse/waitlist/{waitlist_id}/settings traffic.; get_test — Derived from observed GET /api/texasroadhouse/waitlist/{waitlist_id}/test traffic.; list_near — Derived from observed GET /api/stores/near traffic.
Generated by CLI Printing Press