Skip to content
This repository was archived by the owner on Apr 27, 2026. It is now read-only.
This repository was archived by the owner on Apr 27, 2026. It is now read-only.

Auto-recall for input prompts #3323

Description

@jonsequitur

The @input and @password prompts today don’t have a way to recall values that were entered on past runs. Adding a gesture to instruct the prompt to save its value could be a helpful ergonomic improvement even for values that aren’t secrets. For example, many tutorial notebooks ask for a file path on disk, and for any given user, that file path is probably not going to change from run to run. Restarting the kernel is a common notebook interaction and this flushes the in-memory prompt results, requiring the user to re-enter them. Enabling the prompt to check for a remembered response and re-use it without re-issuing the prompt to the user could help make many notebook workflows faster and smoother.

There are several ways we could approach implementing this.

Most inputs stored this way would be stored in the user’s profile as plain text files (likely containing JSON), with the exception of values ingested by the @password token. The current best candidate for storing these would be the PowerShell SecretManagement and SecretStore modules, but other possibilities can be evaluated.

Matching could be done based on the complete text of a given magic command. So, for example, the @input prompts for each of these two examples would never access a value stored by the other:

#!one --tenant-id @input:"Enter your tenant id" 
#!two --tenant-id @input:"Enter your tenant id"

There are a few different UX flows that could work for storage and recall:

• The user could be prompted to store the value.
• The user could be prompted to recall the value.
• There could be a way to make storage and recall the default behavior in order to further reduce redundant interactions. (For example, there could be a separate magic command that sets this preference at the notebook level.)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions