laravel / cloud-cli
CLI to interact with Laravel Cloud
Requires
- php: ^8.2
- illuminate/http: ^12.17
- illuminate/translation: ^12.53
- illuminate/validation: ^12.53
- laravel-zero/phar-updater: ^1.4
- saloonphp/cache-plugin: ^3.0
- saloonphp/pagination-plugin: ^2.0
- saloonphp/saloon: ^3.0
- spatie/laravel-data: ^4.19
Requires (Dev)
- laravel-zero/framework: ^12.0.2
- laravel/pint: ^1.25.1
- mockery/mockery: ^1.6.12
- pestphp/pest: ^3.8.4|^4.1.2
- phpstan/phpstan: ^2.1
- dev-main
- v0.1.11
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-fix-table
- dev-release-workflow
- dev-env-based-on-branch
- dev-repository-fix
- dev-plural-fix
- dev-add-is-public-to-laravel-mysql
- dev-ship-non-interactive
- dev-add_skill
- dev-saloon
- dev-local-config
- dev-deploy
- dev-ai-stuff
This package is auto-updated.
Last update: 2026-03-02 16:20:22 UTC
README
A Laravel Zero CLI for deploying and managing applications on Laravel Cloud. Authenticate via OAuth, create and manage applications, environments, databases, caches, object storage, domains, and more—all from the terminal.
Requirements
- PHP 8.2+
- Composer
- GitHub CLI (
gh) — installed and authenticated (used for repo linking and GitHub API) - Git — for repository detection and
repo:config
Installation
Clone the repository and install dependencies:
gh repo clone laravel/cloud-cli
cd cloud-cli
composer install
Setup Alias
To use the cloud command from anywhere, add an alias to your shell configuration:
For Zsh (macOS default):
echo 'alias cloud="php '$(pwd)'/cloud"' >> ~/.zshrc source ~/.zshrc
For Bash:
echo 'alias cloud="php '$(pwd)'/cloud"' >> ~/.bashrc source ~/.bashrc
Or manually add the alias to your ~/.zshrc or ~/.bashrc file:
alias cloud="php /path/to/cloud-cli/cloud"
Authentication
Before using most commands, authenticate with Laravel Cloud:
cloud auth
This opens a browser for OAuth. API tokens are stored in ~/.config/cloud/config.json. To manage tokens (e.g. for CI):
cloud auth:token
Repository configuration
Link the current Git repo to a Laravel Cloud application and set defaults (application, environment) so you don’t have to pass them every time:
cloud repo:config
Run this from your project root after cloud auth.
Quick start
-
Ship — Guided flow to create an application and deploy it:
cloud ship
-
Deploy — Deploy an existing application (uses repo config or prompts):
cloud deploy
-
Dashboard — Open the app in the Laravel Cloud dashboard:
cloud dashboard
-
Shell completions — Enable tab completion:
cloud completions
Commands reference
Many commands accept an optional resource ID/name and support --json for machine-readable output. When run interactively without arguments, the CLI will prompt for application, environment, or other context as needed.
Auth & config
| Command | Description |
|---|---|
cloud auth |
Authenticate with Laravel Cloud (browser OAuth) |
cloud auth:token |
Manage API tokens |
cloud repo:config |
Configure defaults for the current repository |
Applications
| Command | Description |
|---|---|
cloud application:list |
List applications |
cloud application:get |
Get application details |
cloud application:create |
Create an application |
cloud application:update |
Update an application |
Environments
| Command | Description |
|---|---|
cloud environment:list |
List environments |
cloud environment:get |
Get environment details |
cloud environment:create |
Create an environment |
cloud environment:update |
Update an environment |
cloud environment:delete |
Delete an environment |
cloud environment:variables |
Replace env vars from a file |
cloud environment:logs |
View environment logs |
Deploy & ship
| Command | Description |
|---|---|
cloud ship |
Ship the application to Laravel Cloud (guided) |
cloud deploy |
Deploy to Laravel Cloud |
cloud deploy:monitor |
Monitor deployments |
cloud deployment:list |
List deployments |
cloud deployment:get |
Get deployment details |
Instances
| Command | Description |
|---|---|
cloud instance:list |
List instances |
cloud instance:get |
Get instance details |
cloud instance:create |
Create an instance |
cloud instance:update |
Update an instance |
cloud instance:delete |
Delete an instance |
cloud instance:sizes |
List available instance sizes |
Databases
| Command | Description |
|---|---|
cloud database-cluster:list |
List database clusters |
cloud database-cluster:get |
Get cluster details |
cloud database-cluster:create |
Create a database cluster |
cloud database-cluster:update |
Update a database cluster |
cloud database-cluster:delete |
Delete a database cluster |
cloud database:list |
List databases (schemas) in a cluster |
cloud database:get |
Get database details |
cloud database:create |
Create a database |
cloud database:delete |
Delete a database |
cloud database:open |
Open database locally |
cloud database-snapshot:list |
List snapshots |
cloud database-snapshot:get |
Get snapshot details |
cloud database-snapshot:create |
Create a snapshot |
cloud database-snapshot:delete |
Delete a snapshot |
cloud database-restore:create |
Create a restore from snapshot or PITR |
Cache
| Command | Description |
|---|---|
cloud cache:list |
List caches |
cloud cache:get |
Get cache details |
cloud cache:create |
Create a cache |
cloud cache:update |
Update a cache |
cloud cache:delete |
Delete a cache |
cloud cache:types |
List available cache types |
Object storage (buckets)
| Command | Description |
|---|---|
cloud bucket:list |
List buckets |
cloud bucket:get |
Get bucket details |
cloud bucket:create |
Create a bucket |
cloud bucket:update |
Update a bucket |
cloud bucket:delete |
Delete a bucket |
cloud bucket-key:list |
List bucket keys |
cloud bucket-key:get |
Get bucket key details |
cloud bucket-key:create |
Create a bucket key |
cloud bucket-key:update |
Update a bucket key |
cloud bucket-key:delete |
Delete a bucket key |
Domains
| Command | Description |
|---|---|
cloud domain:list |
List domains |
cloud domain:get |
Get domain details |
cloud domain:create |
Create a domain |
cloud domain:update |
Update a domain |
cloud domain:delete |
Delete a domain |
cloud domain:verify |
Verify domain DNS |
WebSockets
| Command | Description |
|---|---|
cloud websocket-cluster:list |
List WebSocket clusters |
cloud websocket-cluster:get |
Get cluster details |
cloud websocket-cluster:create |
Create a WebSocket cluster |
cloud websocket-cluster:update |
Update a WebSocket cluster |
cloud websocket-cluster:delete |
Delete a WebSocket cluster |
cloud websocket-application:list |
List WebSocket applications |
cloud websocket-application:get |
Get application details |
cloud websocket-application:create |
Create a WebSocket application |
cloud websocket-application:update |
Update a WebSocket application |
cloud websocket-application:delete |
Delete a WebSocket application |
Background processes
| Command | Description |
|---|---|
cloud background-process:list |
List background processes |
cloud background-process:get |
Get process details |
cloud background-process:create |
Create a background process |
cloud background-process:update |
Update a background process |
cloud background-process:delete |
Delete a background process |
Commands (scheduled/one-off)
| Command | Description |
|---|---|
cloud command:list |
List commands for an environment |
cloud command:get |
Get command details |
cloud command:run |
Run a command on an environment |
Other
| Command | Description |
|---|---|
cloud dashboard |
Open app in Cloud dashboard |
cloud browser |
Open the application in the browser |
cloud ip:addresses |
Get Laravel Cloud IP addresses by region |
cloud dedicated-cluster:list |
List dedicated clusters |
cloud completions |
Generate and install shell completions |
Configuration
- User config:
~/.config/cloud/config.json(auth tokens and preferences). - Repo defaults: After
cloud repo:config, the current Git repo stores which application and environment to use so you can runcloud deployand similar without selecting every time.
Development
- Code style: Laravel/PSR-12. Format with Laravel Pint:
./vendor/bin/pint --dirty
- Tests: Pest:
./vendor/bin/pest
- Static analysis: PHPStan:
./vendor/bin/phpstan analyse