Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Shell Laravel Package

jakyeru/laravel-shell

Run shell commands from Laravel through a simple, testable API. jakyeru/laravel-shell wraps process execution, captures output and exit codes, and fits neatly into Artisan commands, jobs, and services for reliable command-line automation.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Framework upgrade planning (primary). v4.0.0 adds Laravel 13 support. This package is now an enabler rather than a blocker for an L13 migration — but the major version bump means the reverse is also true: teams staying on Laravel 11/12 must pin to v3.x. This is a decision input for sequencing the platform upgrade, not just a dependency bump.
  • Build vs. buy for internal tooling. A package like this is relevant when we need shell/terminal command execution inside a Laravel app (ops console, admin-run artisan commands, support-team command runners, deploy/maintenance scripts). The buy case is "don't write our own Symfony Process wrapper"; the real cost is not code, it's the security review of any surface that executes shell commands.
  • Feature scoping for admin/ops surfaces. The Terminal.php change in this release is the core component. Before committing roadmap scope to an in-app terminal UI, we need to know what changed there — for a terminal abstraction, even a "minor" edit can alter escaping, timeout, or output-buffering behavior, which changes what we can safely expose to non-engineers.
  • Security roadmap placement. Any package in this category expands our command-execution attack surface. That should be an explicit line item in the security review backlog, prioritized by whether the exposure is internal-only or customer-facing.
  • Versioning convention insight. A major bump purely for Laravel 13 support suggests the maintainer tracks Laravel majors with package majors. Useful for planning: our upgrade calendar and theirs are now coupled, so each Laravel major becomes a forced dependency decision for us.

When to Consider This Package

Adopt when:

  • We are on, or actively planning, Laravel 13 — v4.0.0 is the only version that matches, and the alignment is the entire value of this release.
  • The need is a thin terminal/command abstraction, not a full remote shell or session-management product.
  • We have capacity to read the source of the command-execution path ourselves. With release notes this sparse, the changelog is not a substitute for code review.
  • The consumer is an internal admin surface behind strong auth, where the blast radius of a defect is contained.

Look elsewhere or defer when:

  • We are on Laravel 11/12 with no near-term L13 plan — pin v3.x, treat v4 as unavailable, and don't plan work around it.
  • We need a security-audited or widely-deployed library for shell execution. One maintainer, two PRs, and no described behavior change is not enough evidence for a customer-facing exposure.
  • We need guarantees the release notes don't provide: no migration guide, no deprecation notices, no test or compatibility statement. The absence of breaking-change detail in a 4.0.0 is itself a signal to verify manually.
  • We need session persistence, SSH, PTY handling, or streaming output — verify capabilities against the source before assuming this class of package covers them.

Immediate action regardless of decision: pin the exact version in composer.json, and if we run v4, diff Terminal.php between v3.0.0 and v4.0.0 before deploying. That single file is where behavioral risk concentrates.

How to Pitch It (Stakeholders)

To executives: A dependency we use for in-app command execution has shipped a new major version whose headline feature is Laravel 13 compatibility. This is good news for our platform upgrade — it removes a potential blocker — but it is a major version, so it requires a deliberate upgrade rather than a routine patch. Cost is low; the required work is a short security and compatibility review, not a rebuild. No customer-facing impact is expected. The one risk to note is concentration: this is a small, single-maintainer package operating in a sensitive area (shell execution), so we should keep our usage narrow and behind internal-only access.

To engineering: v4.0.0 aligns with Laravel 13 and touches Terminal.php. Treat it as breaking by default — the release notes give no migration guidance or deprecation list, so compatibility must be confirmed by reading the diff, not the changelog. Recommended path: pin v3.x if we're not on L13; if we are, open a short-lived branch, diff the terminal implementation, run our command-execution paths against it, and confirm output handling and error behavior are unchanged. Flag any place where we surface raw command output to users.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings