# New proposal: \`remember\`

**URL:** https://forums.testdriver.ai/t/new-proposal-remember/21
**Category:** News
**Created:** [May 15, 2025, 3:35pm UTC](https://forums.testdriver.ai/t/new-proposal-remember/21 "2025-05-15T15:35:56Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![jennings](https://yyz2.discourse-cdn.com/flex010/user_avatar/forums.testdriver.ai/jennings/32/9_2.png) [@jennings](https://forums.testdriver.ai/u/jennings)
#### Post date: [May 15, 2025, 3:35pm UTC](https://forums.testdriver.ai/t/new-proposal-remember/21/1 "2025-05-15T15:35:56Z")

</div>

You might want to pull a title, date, or other status off the page and have the AI use it later.

With our proposed `remember` command, now you can ask TestDriver to remember specific things about what it can see on the screen for use later.

This proposed syntax will allow the AI to set `OUTPUT` variables for use in later steps. See the video and YAML below for an example.

https://www.loom.com/embed/aca10e8ccf324224927f29f87f2ed6d8?sid=2aa616bb-172d-4393-b114-7420c91dbb3a

```yaml
version: 5.6.7
steps:
  - prompt: search for the current track in spotify
    commands:
      - command: focus-application
        name: spotify
      - command: remember
        output: track
        description: the track now playing in spotify
      - command: hover-text
        text: What do you want to play?
        description: the spotify search bar
        action: click
      - command: type
        text: ${OUTPUT.track}

```

---

<div class="post-metadata">

### Author: ![Eric](https://yyz2.discourse-cdn.com/flex010/user_avatar/forums.testdriver.ai/eric/32/15_2.png) [@Eric](https://forums.testdriver.ai/u/Eric)
#### Post date: [May 15, 2025, 8:34pm UTC](https://forums.testdriver.ai/t/new-proposal-remember/21/2 "2025-05-15T20:34:23Z")

</div>

I think this works since `remember` isn’t an action so much of it is as a dynamic reference. One potential limitation is that this assumes `string`, but is there a need for something like:

```yaml
- command: remember
  output: items
  description: Everything in my grocery list

```

(I think this is why text extraction often has some concept of schema to help the LLM identify structure, casting, and validation)

If you’re interested in prior art, [Reference | Cucumber](https://cucumber.io/docs/gherkin/reference/#scenario-outline) uses `<variable>` which works well for handling _N_ values and a data table of known values (e.g. a list of users to run this flow against)

---

<div class="post-metadata">

### Author: ![jennings](https://yyz2.discourse-cdn.com/flex010/user_avatar/forums.testdriver.ai/jennings/32/9_2.png) [@jennings](https://forums.testdriver.ai/u/jennings)
#### Post date: [May 18, 2025, 5:53pm UTC](https://forums.testdriver.ai/t/new-proposal-remember/21/3 "2025-05-18T17:53:44Z")

</div>

Yes, I think supporting different types is a great idea! Though, then we also need a function to loop through them 🙂
