expo / expo/eas-cli

"Invalid slug" error after using Control-U to clear input for "What would you like to name your project?" prompt

Open
#3,382 0 comments 0 reactions 0 assignees View on GitHub
needs review
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

_No response_

### Summary

When prompted `What would you like to name your project?`, the project name is pre-filled with `expo-project`.

If you then use Control-U to clear the input field (this is a standard keyboard shortcut in every shell and most interactive CLI commands), the input is cleared, but the project name ends up with a literal invisible escape character `U+0015` / (aka octal `\025`) at the beginning, which results in an `Invalid slug` error:

```
% npx eas-cli@latest new
👋 Welcome to Expo, bhamilton!
✔ What would you like to name your project? … terraformation-subscription-mobile
ℹ Using project name: terraformation-subscription-mobile
ℹ Using project directory: ./terraformation-subscription-mobile
✔ Cloned the project to ./terraformation-subscription-mobile
✔ Installed project dependencies
✖ Creating @bhamilton/terraformation-subscription-mobile
Invalid slug
Request ID: 3d40a845-b7ea-4250-8dbe-a2238893e89a
Error: GraphQL request failed.
% ls -lbd *terraformation-subscription-mobile*
drwxr-xr-x 15 benhamilton staff 480 Feb 5 09:56 \025terraformation-subscription-mobile
```

Expected behavior: Control-U should continue to clear input, but the resulting field should not have an invisible `U+0015` / `\025` escape character at the beginning.

### Managed or bare?

Managed

### Environment

```
% npx exp-env-info
expo-env-info 2.0.8 environment info:
System:
OS: macOS 26.2
Shell: 5.9 - /bin/zsh
Binaries:
Node: 24.11.1 - ~/.nvm/versions/node/v24.11.1/bin/node
Yarn: 1.22.22 - ~/.nvm/versions/node/v24.11.1/bin/yarn
npm: 11.6.2 - ~/.nvm/versions/node/v24.11.1/bin/npm
SDKs:
iOS SDK:
Platforms: DriverKit 25.2, iOS 26.2, macOS 26.2, tvOS 26.2, visionOS 26.2, watchOS 26.2
IDEs:
Xcode: 26.2/17C52 - /usr/bin/xcodebuild

% npx expo-doctor

ConfigError: The expected package.json path: /Users/benhamilton/Developer/Source/package.json does not exist
```

### Error output

```
% EXPO_DEBUG=true npx eas-cli@latest new
👋 Welcome to Expo, bhamilton!
✔ What would you like to name your project? … terraformation-subscription-mobile
ℹ Using project name: terraformation-subscription-mobile
ℹ Using project directory: ./terraformation-subscription-mobile
- Cloning the project to ./terraformation-subscription-mobile
✔ Cloned the project to ./terraformation-subscription-mobile
- Installing project dependencies
✔ Installed project dependencies
- Creating @bhamilton/terraformation-subscription-mobile
✖ Creating @bhamilton/terraformation-subscription-mobile
Invalid slug
Request ID: e7c83f4c-1449-4f33-aa2e-8b343df56555
CombinedError: [GraphQL] Invalid slug
at makeResult (/Users/benhamilton/.npm/_npx/6bc7bae5c2059953/node_modules/@urql/core/dist/urql-core-chunk.js:381:43)
at fetchOperation (/Users/benhamilton/.npm/_npx/6bc7bae5c2059953/node_modules/@urql/core/dist/urql-core-chunk.js:744:71)
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
at async /Users/benhamilton/.npm/_npx/6bc7bae5c2059953/node_modules/wonka/dist/wonka.js:346:20 {
graphQLErrors: [
{
extensions: [Object],
message: 'Invalid slug',
locations: [Array],
path: [Array]
}
],
networkError: undefined,
response: Response {
size: 0,
timeout: 0,
Symbol(Body internals): { body: [PassThrough], disturbed: true, error: null },
Symbol(Response internals): {
url: 'https://api.expo.dev/graphql',
status: 200,
statusText: 'OK',
headers: [Headers],
counter: 0
}
}
}
Error: GraphQL request failed.
```

### Reproducible demo or steps to reproduce from a blank project

100% repro steps:

1) `npx eas-cli@latest new`
2) When prompted `What would you like to name your project?`, hit Control-U then enter a valid project name
3) Hit enter, wait for project to be generated, get errors `Invalid slug` and `Error: GraphQL request failed`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.