From d570d1b0932c9f2d3eb98ca01e554d9eb794bf4b Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Fri, 9 Oct 2026 13:58:42 -0400 Subject: [PATCH 1/3] Require laravel/prompts 0.3.19 Bumps the minimum to the version that introduced `callout`, which also covers `task()` with `keepSummary`. The fallback check for older versions is removed, and the composer-runtime-api and symfony/console/process constraints are raised to match what prompts already requires. Co-Authored-By: Claude Opus 5.5 --- composer.json | 8 ++++---- src/Concerns/RunsCommands.php | 2 -- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index 6711a5d..3e191de 100644 --- a/composer.json +++ b/composer.json @@ -5,12 +5,12 @@ "license": "MIT", "require": { "php": "^8.1", - "composer-runtime-api": "^2.0", + "composer-runtime-api": "^2.2", "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "illuminate/collections": "^10.0|^11.0|^12.0|^13.0", - "laravel/prompts": "^0.1.3|^0.2.0|^0.3.0", - "symfony/console": "^4.0|^5.0|^6.0|^7.0", - "symfony/process": "^4.2|^5.0|^6.0|^7.0" + "laravel/prompts": "^0.3.19", + "symfony/console": "^6.2|^7.0", + "symfony/process": "^6.0|^7.0" }, "require-dev": { "phpunit/phpunit": "^8.0" diff --git a/src/Concerns/RunsCommands.php b/src/Concerns/RunsCommands.php index aceea9c..f775774 100644 --- a/src/Concerns/RunsCommands.php +++ b/src/Concerns/RunsCommands.php @@ -3,7 +3,6 @@ namespace Statamic\Cli\Concerns; use Laravel\Prompts\Support\Logger; -use Laravel\Prompts\Task; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Process\Process; @@ -92,7 +91,6 @@ private function shouldRunAsTask(): bool { return $this->output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL && $this->output->isDecorated() - && property_exists(Task::class, 'keepSummary') && function_exists('pcntl_fork'); } From 04f8a3fd86d7cc088b31c74cea0d8bda57df2a03 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Fri, 9 Oct 2026 15:20:21 -0400 Subject: [PATCH 2/3] Require PHP 8.2 Co-Authored-By: Claude Opus 5.5 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 3e191de..6ce6f96 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "keywords": ["statamic"], "license": "MIT", "require": { - "php": "^8.1", + "php": "^8.2", "composer-runtime-api": "^2.2", "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "illuminate/collections": "^10.0|^11.0|^12.0|^13.0", From 307f572f714fa92f1dff733ec1ddb5f07fe3f881 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Fri, 9 Oct 2026 15:23:45 -0400 Subject: [PATCH 3/3] Add troubleshooting section for Composer version conflicts Co-Authored-By: Claude Opus 5.5 --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 3f7e04b..89505ae 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ - [Installing Statamic](#installing-statamic) - [Checking Statamic versions](#checking-statamic-versions) - [Updating Statamic](#updating-statamic) +- [Troubleshooting](#troubleshooting) + - [Composer version conflicts](#composer-version-conflicts) ## Installing the CLI tool @@ -119,3 +121,14 @@ statamic update ``` This is just syntactic sugar for the `composer update statamic/cms --with-dependencies` command. + +## Troubleshooting + +### Composer version conflicts + +If you installed the CLI tool [directly](#installing-directly), it shares Composer's global dependencies with every +other globally required package. When those packages need different versions of the same dependency, Composer may fail +to install or update the CLI tool. + +The easiest fix is to remove the global install (`composer global remove statamic/cli`) and +[use cpx](#installing-the-cli-tool) instead, which runs the CLI tool in isolation.