deployment
railwayapp/railway-skills
Manage Railway deployments: view logs, redeploy, restart, or remove without deleting the service.
What is deployment?
This skill handles the full deployment lifecycle on Railway—listing deployments, viewing and filtering logs (deploy and build), redeploying, restarting containers, and removing active deployments. Use it when you need to troubleshoot issues, check deployment status, or control running services.
- List deployments with status and metadata, optionally filtered by service or environment
- View deploy and build logs with time-based and text filtering (errors, warnings, patterns)
- Redeploy the most recent deployment or restart a container without rebuilding
- Remove the current deployment while keeping the service intact
- Retrieve logs from specific deployments by ID for debugging failures or crashes
How to install deployment
npx skills add https://github.com/railwayapp/railway-skills --skill deployment- Railway CLI installed and authenticated
- A Railway project with at least one service
- Service linked via `railway service` (or specify with `--service` flag)
How to use deployment
- 1.Run `railway deployment list --limit 10 --json` to view recent deployments and their IDs
- 2.Use `railway logs --lines 100 --json` to fetch deploy logs, or `--build` for build logs
- 3.Add `--filter` with query syntax (e.g., `@level:error`) to search for specific errors
- 4.Use `--since` and `--until` for time-based filtering (relative like `1h` or ISO 8601 timestamps)
- 5.Run `railway redeploy --service <name> -y` to redeploy, or `railway restart --service <name> -y` to restart the container only
- 6.Execute `railway down --service <name> -y` to remove the deployment (service remains)
Use cases
- Check deployment history and status to find a specific deployment ID for investigation
- View build logs to diagnose why a deployment failed during the build phase
- Filter runtime logs for errors and timeouts to troubleshoot application crashes
- Redeploy after environment variables or config changes without pushing new code
- Stop a running deployment temporarily while keeping the service definition intact
- DevOps engineers managing Railway services
- Backend developers debugging deployment and runtime issues
- Platform teams monitoring deployment health and logs
- Anyone troubleshooting build failures or service crashes on Railway
deployment FAQ
Remove deployment (`railway down`) stops the current running deployment but keeps the service definition. To delete the service entirely, use the `environment` skill with `isDeleted: true`.
By default `railway logs` shows the last successful deployment. Use `--latest` flag to fetch logs from the most recent deployment regardless of status.
Yes. Use `--filter` with query syntax like `@level:error` for errors only, or `connection refused` for text search. Combine multiple conditions with `AND`.
`redeploy` rebuilds and restarts the service (use when config changed). `restart` only restarts the container without rebuilding (use when external resources changed but code didn't).
Get the deployment ID from `railway deployment list`, then run `railway logs <deployment-id> --lines 100 --json` for deploy logs or `railway logs --build <deployment-id> --lines 100 --json` for build logs.
Full instructions (SKILL.md)
Source of truth, from railwayapp/railway-skills.
name: deployment description: This skill should be used when the user wants to manage Railway deployments, view logs, or debug issues. Covers deployment lifecycle (remove, stop, redeploy, restart), deployment visibility (list, status, history), and troubleshooting (logs, errors, failures, crashes, why deploy failed). NOT for deleting services - use environment skill with isDeleted for that. allowed-tools: Bash(railway:*)
Deployment Management
Manage existing Railway deployments: list, view logs, redeploy, or remove.
Important: "Remove deployment" (railway down) stops the current deployment but keeps the service. To delete a service entirely, use the environment skill with isDeleted: true.
When to Use
- User says "remove deploy", "take down service", "stop deployment", "railway down"
- User wants to "redeploy", "restart the service", "restart deployment"
- User asks to "list deployments", "show deployment history", "deployment status"
- User asks to "see logs", "show logs", "check errors", "debug issues"
List Deployments
railway deployment list --limit 10 --json
Shows deployment IDs, statuses, and metadata. Use to find specific deployment IDs for logs or debugging.
Specify Service
railway deployment list --service backend --limit 10 --json
View Logs
Deploy Logs
railway logs --lines 100 --json
In non-interactive mode, streaming is auto-disabled and CLI fetches logs then exits.
Build Logs
railway logs --build --lines 100 --json
For debugging build failures or viewing build output.
Logs for Failed/In-Progress Deployments
By default railway logs shows the last successful deployment. Use --latest for current:
railway logs --latest --lines 100 --json
Filter Logs
# Errors only
railway logs --lines 50 --filter "@level:error" --json
# Text search
railway logs --lines 50 --filter "connection refused" --json
# Combined
railway logs --lines 50 --filter "@level:error AND timeout" --json
Time-Based Filtering
# Logs from last hour
railway logs --since 1h --lines 100 --json
# Logs between 30 and 10 minutes ago
railway logs --since 30m --until 10m --lines 100 --json
# Logs from specific timestamp
railway logs --since 2024-01-15T10:00:00Z --lines 100 --json
Formats: relative (30s, 5m, 2h, 1d, 1w) or ISO 8601 timestamps.
Logs from Specific Deployment
Deploy logs:
railway logs <deployment-id> --lines 100 --json
Build logs:
railway logs --build <deployment-id> --lines 100 --json
Get deployment ID from railway deployment list.
Note: The deployment ID is a positional argument, NOT --deployment <id>. The --deployment flag is a boolean that selects deploy logs (vs --build for build logs).
Redeploy
Redeploy the most recent deployment:
railway redeploy --service <name> -y
The -y flag skips confirmation. Useful when:
- Config changed via environment skill
- Need to restart without new code
- Previous deploy succeeded but service misbehaving
Restart Container Only
Restart without rebuilding (picks up external resource changes):
railway restart --service <name> -y
Use when external resources (S3 files, config maps) changed but code didn't.
Remove Deployment
Takes down the current deployment. The service remains but has no running deployment.
# Remove deployment for linked service
railway down -y
# Remove deployment for specific service
railway down --service web -y
railway down --service api -y
This is what users mean when they say "remove deploy", "take down", or "stop the deployment".
Note: This does NOT delete the service. To delete a service entirely, use the environment skill with isDeleted: true.
CLI Options
deployment list
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-e, --environment <NAME> | Environment name or ID |
--limit <N> | Max deployments (default 20, max 1000) |
--json | JSON output |
logs
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-e, --environment <NAME> | Environment name or ID |
-d, --deployment | Show deploy logs (default, boolean flag) |
-b, --build | Show build logs (boolean flag) |
-n, --lines <N> | Number of lines (required) |
-f, --filter <QUERY> | Filter using query syntax |
--since <TIME> | Start time (relative or ISO 8601) |
--until <TIME> | End time (relative or ISO 8601) |
--latest | Most recent deployment (even if failed) |
--json | JSON output |
[DEPLOYMENT_ID] | Specific deployment (optional) |
redeploy
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-y, --yes | Skip confirmation |
restart
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-y, --yes | Skip confirmation |
down
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-e, --environment <NAME> | Environment name or ID |
-y, --yes | Skip confirmation |
Presenting Logs
When showing logs:
- Include timestamps
- Highlight errors and warnings
- For build failures: show error and suggest fixes
- For runtime crashes: show stack trace context
- Summarize patterns (e.g., "15 timeout errors in last 100 logs")
Composability
- Push new code: Use
deployskill - Check service status: Use
statusskill - Fix config issues: Use
environmentskill - Create new service: Use
newskill
Error Handling
No Service Linked
No service linked. Run `railway service` to select one.
No Deployments Found
No deployments found. Deploy first with `railway up`.
No Logs Found
Deployment may be too old (log retention limits) or service hasn't produced output.
Related skills
More from railwayapp/railway-skills and the wider catalog.

domain
This skill should be used when the user wants to add a domain, generate a railway domain, check current domains, get the URL for a service, or remove a domain.

environment
This skill should be used when the user asks "what's the config", "show me the configuration", "what variables are set", "environment config", "service config", "railway config", or wants to add/set/delete variables, change build/deploy settings, scale replicas, connect repos, or delete services.

metrics
This skill should be used when the user asks about resource usage, CPU, memory, network, disk, or service performance. Covers questions like "how much memory is my service using" or "is my service slow".

new
This skill should be used when the user says "setup", "deploy to railway", "initialize", "create project", "create service", or wants to deploy from GitHub. Handles initial setup AND adding services to existing projects. For databases, use the database skill instead.

projects
This skill should be used when the user wants to list all projects, switch projects, rename a project, enable/disable PR deploys, make a project public/private, or modify project settings.

railway-docs
Fetch up-to-date Railway documentation to answer platform questions accurately.