app_status
ChatGPTWithout app: the user's apps with their preview and production URLs. With app: its URLs, what the test version and the live app are serving, recent deploys, the versions whose files can be restored (for restore_version), usage once live, and notes on what to do next.
create_app
ChatGPTCreates a new app with its own databases (preview + production) and web addresses. Returns its id and URLs.
delete_records
ChatGPTDeletes specified records as the app owner, bypassing end-user access rules. Related records are removed or lose their links according to on_delete. Production deletion requires confirm: true, only when the user requested these exact removals.
delete_users
ChatGPTRemoves the specified app accounts. Their records are deleted or lose the account link per on_delete; returns what was removed and missing accounts. Production removal requires confirm: true, only when the user requested these exact people be removed.
deploy_live
ChatGPTPushes what's in the test version to the live app (files and database changes), for an app the user has already published. Only when the user asks for the change to go live. If it would delete live data it stops, and the user approves it in the dashboard instead. The first time an app goes live, the user publishes it from the dashboard (publish_url in app_status), not this tool.
deploy_preview
ChatGPTValidates, builds and replaces the private test version; migrations can delete preview data. npm dependencies and build scripts can access the internet. Returns the preview URL, warnings and database changes. Does not publish live.
edit_file
ChatGPTEdits a workspace text file by exact find-and-replace. Each 'old' must match exactly and occur once unless replace_all. Edits apply in order, all or nothing. Changes reach the private test version after deploy_preview.
get_docs
ChatGPTDocs for building on apphaven. Topics: overview (workflow, start here), config (YAML for models, access rules, operations, auth), sdk (frontend client + REST API), files (what app users upload), examples (complete apps).
get_logs
ChatGPTRecent API requests to the app (method, path, status, error message, user). Use to debug failing data calls.
insert_records
ChatGPTAdds records as the app owner, bypassing end-user access rules. Readonly fields may be set; user fields need a real user id from list_users. Use for sample data or owner-requested additions. Repeating creates more records; does not run configured operations or emails.
invite_user
ChatGPTMakes an invitation link for an app with auth.signup: invite (config docs, auth): for one email address (only a sign-up with it passes) or for anyone with the link. Sets what the person becomes and how long the link works. Sends nothing: the link is returned once, for the owner to pass on themselves (the console's People page can email it from the app).
list_runs
ChatGPTRuns of the app's automations (config docs, "Runs"), newest first: status (running; done; stopped, a run that ended at its own if/stop step, which is a normal ending; failed, with the reason in words), what started each, and for a run that isn't done, each step's state. Filter by automation or status. Automations start on changes made through the app and its sign-up, not on the data tools. Check here after run_automation, after a change that should start one, and when the owner says one failed.
list_users
ChatGPTPeople who signed up to the app (per environment), with their roles.
query_data
ChatGPTReads records as the app owner (access rules don't apply). Use to check what the app stored; one record by id is filter: id == <id>. Files show as name, size and state.
read_emails
ChatGPTWithout id: app emails, newest first, with status: captured (kept here, not delivered), sent, suppressed (bounced/unsubscribed), limited or failed. In preview only mail to the owner's Apphaven address is delivered; the rest is captured. With id: recipients, status, rendered text and HTML, including confirmation/reset/sign-in links. Use after triggering sign-in mail or an operation with email:. Check the actual status, even for the owner.
read_files
ChatGPTWithout path: every file in the app's workspace on Apphaven (what deploy_preview publishes), with image sizes; files the user added from the dashboard are marked. With path: that one file (binary files come back base64).
reset_preview_data
ChatGPTReplaces the preview database, including its accounts and records, with a fresh copy of production and reapplies the preview schema. Discards preview-only data. Production is unchanged; copied accounts have no passwords, so use test users or new sign-ups.
restore_version
ChatGPTReplaces the workspace files with those of a past deploy (a restorable one from app_status). Data isn't touched. Deploy afterwards to put it in preview.
run_tests
ChatGPTRuns the entire predefined preview suite: record isolation (owner CRUD, other-user and anonymous denial) and ownership integrity (forged creator and reassignment). For private creator-owned models only. Uses deployed rules and temporary default-role users/records in a transaction that always rolls back. Returns per-check evidence. No scripts, routes or selectable operations; no emails or file uploads. Does not test UI, HTTP, sign-in or configured operations: exercise those with view_page.
send_feedback
ChatGPTSends feedback to the Apphaven team about blockers, bugs, unclear docs, ideas or successes. Optional; shared outside the owner's workspace and cannot be recalled here. No personal details or app data. No reply in the chat.
set_user_role
ChatGPTChanges existing app accounts to a configured role, e.g. admin. They must already have signed up in that environment. Can grant or revoke access. Updates one address at a time; failures report accounts already changed. People may need to sign out and in again.
update_record
ChatGPTOverwrites supplied fields of one record as the app owner, bypassing end-user access rules; readonly fields may be set. Keeps its id and links. Production changes require confirm: true, only when the user requested these changes. Does not run configured operations or emails.
validate
ChatGPTChecks the apphaven/*.yaml config (with file:line errors and hints) and shows what deploy_preview would change in the database. Doesn't deploy.
view_page
ChatGPTTests the preview in a fresh browser: screenshot, console errors, failed requests and visible text. Pages and steps can change/delete data, upload files, send mail or contact external services. 'as' creates/signs in a confirmed test user; omit it for ordinary sign-up/sign-in (get_docs "sdk"). Cookies don't carry between calls. Confirm boxes are answered OK unless dialogs is dismiss. Check phone, tablet and desktop after deploy_preview.
write_files
ChatGPTCreates/replaces workspace files and removes paths in delete (deletes first). Send many files at once. Changes reach the private test version after deploy_preview. restore_version recovers files from a saved deployment.
app_status
Claudechange_data
Claudecreate_app
Claudedeploy_live
Claudedeploy_preview
Claudeedit_file
Claudeget_docs
Claudeget_logs
Claudelist_users
Claudemanage_users
Claudequery_data
Clauderead_emails
Clauderead_files
Clauderestore_version
Claudesend_feedback
Claudetest_api
Claudetest_api_write
Claudevalidate
Claudeview_page
Claudewrite_files
Claude