> For the complete documentation index, see [llms.txt](https://help.refractbot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.refractbot.com/modules/target/in-bot-shape-generation.md).

# In-Bot (Shape Generation)

The in-bot harvester generates Target Shape cookies from inside Refract. It covers both cookie types: login cookies and add to cart (product) cookies. It is how you generate cookies for Target.

{% hint style="warning" %}
**The browser extension is deprecated.** It still connects to the bot, but it is no longer updated, we do not recommend it, and we do not provide guidance for it. Use in-bot harvesters: they are far ahead of the extension on Target.
{% endhint %}

{% hint style="info" %}
**New to Shape?** Read the general Target guide first. It explains what cookies are, why you need about 3 per running task, and why piling up far more than that per task is not better.
{% endhint %}

{% content-ref url="/pages/ZFqpmTnmbrPInDm80k4P" %}
[Target Release Guide](/modules/target/target-release-guide.md)
{% endcontent-ref %}

Harvesters live in the bot under **Settings > Harvesters**. The toolbar buttons, left to right: the cookie button opens Shape Harvester Settings, **+** adds a harvester, the play button starts your harvesters, the square button stops them, the pencil edits, and the red **X** deletes.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-abf9cf2074b3951f7b0a12445685750903063d56%2Fharvesters-tab.png?alt=media" alt="The Harvesters tab in bot Settings with the toolbar buttons"><figcaption><p>The Harvesters tab. Toolbar, left to right: Shape settings, add, start, stop, edit, delete.</p></figcaption></figure>

## Create a harvester

{% stepper %}
{% step %}

#### Add a harvester

Click **+** on the Harvesters tab. Leave **Type** set to **Shape**, give the harvester a name, and set the **Quantity** you want. Quantity is how many harvesters to create with this same browser path.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-4051e26fee2892be421cfc95b06b07802d9f6c1a%2Fharvesters-add.png?alt=media" alt="The Add Harvester window" width="420"><figcaption><p>Leave Type on Shape. Blank Browser Path means Chrome.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Set the browser path

Leave **Browser Path** blank to use Chrome. To harvest on Brave, Edge, or any other Chromium browser instead, you must link that browser's executable file. See below for how to find it on Windows and Mac.

Safari and Firefox are not supported.

You can use the same **Browser Path** on as many harvesters as you want. The bot gives each one its own profile and cache automatically. You do not create profiles, manage cache, or sign in to the browser. No extra setup on your side.
{% endstep %}

{% step %}

#### Pick a proxy list

Ideally select a residential (resi) proxy list. Resis have been passing Shape far better than ISPs. A couple of local harvesters can generate on your home IP, but at recommended Target sizes (Windows 30-50, Mac 200+) you want resis. See [Proxies](/modules/target/target-setup-guide.md#proxies).
{% endstep %}

{% step %}

#### Show Browser: does not matter

You do not need to turn on **Show Browser**, and it does not matter at all whether it is on or off. Harvesting works the same either way. Click **Add** and your harvester appears in the list.
{% endstep %}
{% endstepper %}

### Finding the browser executable

Only needed if you are not using Chrome. The Browser Path must point at the browser's actual executable file. A desktop shortcut itself will not work, but a shortcut is the easiest way to find where the real file lives.

{% tabs %}
{% tab title="Windows" %}
{% stepper %}
{% step %}

#### Find the browser's shortcut

Look on your desktop for the browser's icon. If it is not there, open the Start menu, type the browser's name, right-click it in the results, and choose **Open file location**.
{% endstep %}

{% step %}

#### Open its Properties

Right-click the shortcut and choose **Properties**. A window opens on the **Shortcut** tab.
{% endstep %}

{% step %}

#### Copy the Target path

The **Target** field contains the full path to the executable, ending in `.exe`. Select the whole thing and copy it. If the path is wrapped in quotation marks, do not include them.
{% endstep %}

{% step %}

#### Paste it into Refract

Paste the path into the **Browser Path** box in the Add Harvester window. The most common paths:

```
Brave:  C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe
Edge:   C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
```

You can also click the Browser Path box and browse to the `.exe` at that location directly instead of copying from Properties.
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="Mac" %}
{% stepper %}
{% step %}

#### Open the file picker

In the Add Harvester window, click the **Browser Path** box. A file picker opens.
{% endstep %}

{% step %}

#### Go to Applications

Click **Applications** in the sidebar of the picker, or press **Cmd + Shift + A** to jump straight there.
{% endstep %}

{% step %}

#### Select the browser

Click the browser's app and confirm. It may show without the `.app` ending in the picker; that is normal, macOS hides it. The most common paths:

```
Brave:  /Applications/Brave Browser.app
Edge:   /Applications/Microsoft Edge.app
```

{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
**Safari and Firefox are not supported.** Only Chromium browsers work as a harvester browser: Chrome, Brave, Edge, and other Chromium-based browsers.
{% endhint %}

{% hint style="info" %}
**Reuse the same browser path.** Point as many harvesters as you want at the same Chrome, Brave, or Edge install, or raise **Quantity** on one harvester. The bot handles a separate profile and cache for each harvester automatically. You do not create profiles, clear cache, or sign in to the browser.
{% endhint %}

## Configure the Shape settings

Click the cookie button on the toolbar to open **Shape Harvester Settings**.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-6e572c49dca4cff02dc8304e67021ecdf8b51514%2Fharvesters-shape-settings.png?alt=media" alt="The Shape Harvester Settings window" width="450"><figcaption><p>Expiry between 300 and 600 seconds. Max Cookie Count: 3x your running tasks.</p></figcaption></figure>

* **Current Cookie Count:** how many cookies your in-bot harvesters have banked right now.
* **Cookie Expiry (seconds):** set between `300` and `600`. From our testing, most Shape cookies last a maximum of about 10 minutes, so there is no point keeping them longer.
* **Max Cookie Count:** set this to 3x your running tasks. 20 tasks need 60 cookies. 20 tasks duplicated across 3 groups need 180. Remember from the general guide: generating far beyond what you need raises your flag risk, so 3 per task is the target, not the floor.

Click **Save Changes** when done.

## Start and stop harvesting

* The **play** button starts your harvesters, and the **square** button stops them.
* Use the **pencil** to edit a harvester, or right-click it for the same options.
* While generating, tasks show a **Harvesting** status. Once your Max Cookie Count is reached, they switch to **Sleeping (Max Cookies Reached)**. Both are normal.
* While the in-bot harvester is generating, your current cookie count also shows next to the cookie icon in the top bar of the bot, so you can watch your bank without opening Settings.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-1b4657493cdb1297dc573f5456fbd803972c48a2%2Fharvesters-topbar-count.png?alt=media" alt="The bot top bar showing the cookie icon with the current count" width="355"><figcaption><p>Your in-bot cookie bank, always visible in the top bar while generating.</p></figcaption></figure>

## Schedule harvesters

You can have harvesters start themselves on a schedule instead of babysitting them.

{% stepper %}
{% step %}

#### Open the scheduler

Select the harvester or harvesters you want, right-click, and click **Schedule**.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-f4fa3abae5e77d5e71e88d890eb04b9f2bfd3ae0%2Fharvesters-schedule.png?alt=media" alt="The Schedule Harvester window with the Startup checkbox, days, and time slots" width="420"><figcaption><p>The Startup checkbox at the top is Auto start on app launch.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Decide on auto start

The **Startup** section at the top has an **Auto start on app launch** checkbox. Tick it and these harvesters start generating as soon as you open the bot, no schedule or manual start needed. This is the easiest way to never forget to start your harvesters.
{% endstep %}

{% step %}

#### Choose your days

Select days of the week to repeat weekly on those days. With no days selected, the schedule runs once at the next occurrence.
{% endstep %}

{% step %}

#### Add time slots

Click **+ Add Slot** and set the start and stop times. You can add multiple slots. All times are your device's local time.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-91f4a1e4efc411c1c9ec8a3792549cc578d34ff0%2Fharvesters-schedule-slots.png?alt=media" alt="A schedule with a day selected and a start and stop time slot" width="450"><figcaption><p>Selected days repeat weekly. Times are always your device's local time.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Save

Click **Save** to apply the schedule.
{% endstep %}
{% endstepper %}

## How many harvesters do I need?

There is no task-to-harvester ratio. It takes as many harvesters as it takes to generate the cookies you need, which depends on your machine, your proxies, and the product's current security level. Watch your Current Cookie Count against your target of 3 cookies per running task, and scale the harvester count until you hold it comfortably.

You can stack that count on one browser. Use the same **Browser Path** on every harvester, or raise **Quantity**. Mixing Chrome, Brave, and Edge still helps, but you do not need a separate install per harvester. The bot handles profiles and cache for each one automatically.

## FAQ

<details>

<summary>Can I still run the browser extension?</summary>

It still connects to the bot, so you can, but it is deprecated: no longer updated, not recommended, and we do not provide guidance for it. The in-bot harvester is far ahead of it on Target, so use in-bot harvesters.

</details>

<details>

<summary>Does the in-bot harvester generate both login and ATC cookies?</summary>

Yes. The in-bot harvester covers both cookie types: login cookies (to log your accounts in) and add to cart (product) cookies (to cart Shape-protected products).

</details>

<details>

<summary>Why does my harvester status say "Error"?</summary>

This usually means the browser path is wrong. Double-check it points at the browser's executable, then try again. If it persists with a correct path, open a support ticket.

</details>

<details>

<summary>My harvester says "Browser Failed"?</summary>

First, verify your Browser Path actually points at the browser's executable (see [Finding the browser executable](#finding-the-browser-executable)).

If the path is right and you are on Mac, macOS is blocking Refract from launching the browser. Open **System Settings**, search `privacy`, go to **Privacy & Security** > **Developer Tools**, and enable **Refract** in the list ("Allow the applications below to run software locally that does not meet the system's security policy"). Then start the harvester again. This fix is Mac only.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-aa9b2bb0aee57a9384692931d2ba65cb0c948a38%2Fharvesters-mac-developer-tools.png?alt=media" alt="macOS Privacy &#x26; Security > Developer Tools with Refract enabled"><figcaption><p>Privacy &#x26; Security > Developer Tools: enable Refract, then start the harvester again.</p></figcaption></figure>

**Older macOS (Monterey):** there is no System Settings app, and the Developer Tools pane is hidden until you enable it from Terminal.

1. Fully quit Refract.
2. Open **Terminal**: press **Cmd + Space**, search `terminal`, and press Return.
3. Paste `spctl developer-mode enable-terminal` and press Return.
4. Open **System Preferences** > **Security & Privacy** > **Privacy**.
5. Click the padlock in the bottom left and enter your Mac administrator password.
6. Select **Developer Tools** in the left-hand list and tick the box beside **Refract**.
7. If Refract is not listed, launch Refract, try to start the harvester once, then check the Developer Tools list again.
8. Fully quit and reopen Refract, then restart the harvester.

If it still says "Browser Failed", paste `sudo /usr/sbin/DevToolsSecurity -enable` into Terminal and press Return. Enter your Mac password when asked (the password does not appear while typing; that is normal). Then restart the Mac and try again.

</details>

<details>

<summary>Which sites need Shape harvesters?</summary>

Only Target. Shape is Target's anti-bot system, and no other supported site uses these cookies.

</details>

<details>

<summary>Should my harvesters use proxies?</summary>

Use a residential (resi) proxy list. Resis have been passing Shape far better than ISP proxies. A couple of local harvesters can generate on your home IP, but at recommended Target sizes (Windows 30-50, Mac 200+) you want resis. See [Proxies](/modules/target/target-setup-guide.md#proxies).

</details>

<details>

<summary>Do I need to be signed in to Chrome or Brave?</summary>

No. The harvester launches its own browser session, and you never need to sign in to the browser itself (a Google account in Chrome, a Brave account, and so on). The bot also creates each harvester's profile and cache for you. You do not set those up, and you do not need to clear cache between runs.

</details>

<details>

<summary>Can I use Safari or Firefox as a harvester browser?</summary>

No. Safari and Firefox are not supported. Only Chromium browsers work: Chrome, Brave, Edge, and other Chromium-based browsers.

</details>

<details>

<summary>Can I use the same browser path on more than one harvester?</summary>

Yes. Use the same path on as many harvesters as you want, or raise **Quantity** on one harvester. The bot gives each instance its own profile and cache automatically. You do not create profiles, manage cache, or sign in to the browser. No extra setup on your side.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.refractbot.com/modules/target/in-bot-shape-generation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
