Reference

Every environment variable Laraclaw reads, with its default and what it controls.

Introduction

This is the flat reference for every LARACLAW_* environment variable Laraclaw reads. No prose, no tutorials — just defaults, requirements, and where to read more.

A few conventions:

  • Required means the package will fail to boot, or the feature will not work, without the value.
  • Defaults are what the package falls back to when the variable is unset.
  • See links to the page where the setting is explained in context. Click through whenever a one-liner doesn't tell you enough.

If you're looking for the why and not just the what, Customization and the per-feature pages have the conceptual coverage.

Core

VariableDefaultRequiredDescriptionSee
LARACLAW_USER_MODELApp\Models\UserNoFully-qualified user model classIntroduction
LARACLAW_ADMIN_USER_IDYes if Telegram or Slack are enabledThe single owner user IDIntroduction
LARACLAW_WEBHOOK_RATE_LIMIT20NoInbound messages per minute. 0 disablesCustomization
LARACLAW_LOG_AGENT_REQUESTSfalseNoLog every agent prompt and responseCustomization

Filesystem and Attachments

VariableDefaultRequiredDescriptionSee
LARACLAW_ALLOWED_DISKSlocalNoComma-separated list of disks the File and Image Manager can seeFile Manager
LARACLAW_ATTACHMENTS_DISKlocalNoDisk used for inbound and outbound attachment foldersAttachments
LARACLAW_INCOMING_ATTACHMENTS_PATHinboundNoFolder name for inbound files within the attachments diskAttachments
LARACLAW_OUTGOING_ATTACHMENTS_PATHoutboundNoFolder name for outbound files within the attachments diskAttachments

Memory

VariableDefaultRequiredDescriptionSee
LARACLAW_MEMORY_ENABLEDfalseNoTurn on RAG memory across conversationsMemory
LARACLAW_MEMORY_MAX_RESULTS5NoMaximum chunks returned per MemoryManager callMemory
LARACLAW_MEMORY_MIN_SIMILARITY0.5NoMinimum cosine similarity for a chunk to be includedMemory

The Agent Folder

VariableDefaultRequiredDescriptionSee
LARACLAW_INSTRUCTIONS_PATHbase_path('laraclaw/instructions.md')NoBase system prompt file. Falls back to the packaged prompt when missingCustomization
LARACLAW_PERSONAS_PATHbase_path('laraclaw/personas')NoDirectory containing persona Markdown filesPersonas
LARACLAW_PERSONAS_DEFAULTNoFilename (without .md) of the default persona. Falls back to default.md when unsetPersonas
LARACLAW_SKILLS_PATHbase_path('laraclaw/skills')NoDirectory containing skill subfoldersSkills

Tools

VariableDefaultRequiredDescriptionSee
LARACLAW_TTS_ENABLEDtrueNoEnable the Text-to-Speech toolText to Speech
LARACLAW_TTS_VOICEdefault-femaleNoDefault voice ID for TTSText to Speech
LARACLAW_IMAGE_DRIVERimagickNoImage driver: imagick or gdImage Manager

Your own tools are listed in config/laraclaw.php rather than in .env, since they are class names:

'tools' => [
    'custom' => [
        App\Laraclaw\Tools\WeatherTool::class,
    ],
],

See Adding Custom Tools.

Tinker

VariableDefaultRequiredDescriptionSee
LARACLAW_TINKER_ENABLEDfalseNoEnable the Tinker tool (PHP eval, with shell access via Process::run)Tinker

Read Database

VariableDefaultRequiredDescriptionSee
LARACLAW_READ_DATABASE_ENABLEDfalseNoEnable the Read Database toolRead Database
LARACLAW_READ_DATABASE_USERNAMEMySQL and Postgres onlyUsername for the read-only DB user. Set by the wizard.Read Database
LARACLAW_READ_DATABASE_PASSWORDMySQL and Postgres onlyPassword for the read-only DB user. Set by the wizard.Read Database
LARACLAW_READ_DATABASE_TIMEOUT_SECONDS10NoPer-query timeout for MySQL and Postgres. 0 disables the cap.Read Database

Headless Browser

Larapanda reads its own LARAPANDA_* env vars directly; the table below covers the ones the wizard touches. See the larapanda config for the full list (vendor/ferdiunal/larapanda/config/larapanda.php).

VariableDefaultRequiredDescriptionSee
LARACLAW_BROWSER_ENABLEDfalseNoEnable the Headless Browser tool. Also needs composer require ferdiunal/larapanda.Headless Browser
LARAPANDA_RUNTIMEcliNoauto, cli, or docker. Wizard sets auto.Headless Browser
LARAPANDA_BINARY_PATHCLI mode onlyAbsolute path to the Lightpanda binary.Headless Browser
LARAPANDA_AI_OBEY_ROBOTStrueNoRespect robots.txt when navigating.Headless Browser
LARAPANDA_AI_SESSION_TTL300NoInactivity TTL for in-memory browser sessions, in seconds.Headless Browser

Calendar

VariableDefaultRequiredDescriptionSee
LARACLAW_CALENDAR_DRIVERYes if calendar enabledgoogle or appleCalendar
LARACLAW_GOOGLE_CREDENTIALS_JSONbase_path('oauth-credentials.json')Google onlyPath to the Google OAuth client credentials JSONCalendar
LARACLAW_GOOGLE_TOKEN_JSONbase_path('oauth-token.json')Google onlyPath where the refreshed Google access token is storedCalendar
LARACLAW_GOOGLE_CALENDAR_IDGoogle onlyCalendar ID to operate on (often primary)Calendar
LARACLAW_APPLE_CALDAV_SERVERhttps://caldav.icloud.comApple onlyCalDAV server URLCalendar
LARACLAW_APPLE_CALDAV_USERNAMEApple onlyApple IDCalendar
LARACLAW_APPLE_CALDAV_PASSWORDApple onlyApp-specific passwordCalendar
LARACLAW_APPLE_CALDAV_CALENDARApple onlyCalendar name to operate onCalendar

Telegram Connector

VariableDefaultRequiredDescriptionSee
LARACLAW_TELEGRAM_ENABLEDfalseNoEnable the Telegram connectorTelegram
LARACLAW_TELEGRAM_TOKENYes if enabledBot token from BotFatherTelegram

Slack Connector

VariableDefaultRequiredDescriptionSee
LARACLAW_SLACK_ENABLEDfalseNoEnable the Slack connectorSlack
LARACLAW_SLACK_SIGNING_SECRETYes if enabledUsed to verify webhook signaturesSlack
LARACLAW_SLACK_BOT_TOKENYes if enabledxoxb-... bot tokenSlack
LARACLAW_SLACK_BOT_USER_IDYes if enabledThe bot user's Slack ID, used for mention detectionSlack

Email Connector

VariableDefaultRequiredDescriptionSee
LARACLAW_EMAIL_ENABLEDfalseNoEnable the Email connectorEmail
LARACLAW_EMAIL_VERIFY_SENDER_DKIM_AND_SPFtrueNoDrop messages that fail DKIM or SPFEmail
LARACLAW_SMTP_HOSTYes if enabledOutbound SMTP hostEmail
LARACLAW_SMTP_PORT587NoOutbound SMTP portEmail
LARACLAW_SMTP_ENCRYPTIONtlsNotls or sslEmail
LARACLAW_SMTP_USERNAMEYes if enabledSMTP usernameEmail
LARACLAW_SMTP_PASSWORDYes if enabledSMTP passwordEmail
LARACLAW_SMTP_FROM_ADDRESSYes if enabledFrom: address on outgoing repliesEmail
LARACLAW_SMTP_FROM_NAMENoDisplay name on outgoing repliesEmail
LARACLAW_IMAP_HOSTYes if enabledInbound IMAP hostEmail
LARACLAW_IMAP_PORT993NoInbound IMAP portEmail
LARACLAW_IMAP_ENCRYPTIONsslNossl or tlsEmail
LARACLAW_IMAP_USERNAMEYes if enabledIMAP usernameEmail
LARACLAW_IMAP_PASSWORDYes if enabledIMAP passwordEmail
LARACLAW_IMAP_MAILBOXdefaultNoimapengine mailbox nameEmail

API Connector

VariableDefaultRequiredDescriptionSee
LARACLAW_API_ENABLEDfalseNoEnable the HTTP API connectorAPI
Copyright © 2026