Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › disk space

Fix scripts that break when Fastfetch 2.70.0 changes disk-free reporting

By Freedom251 Team · · 8 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Fastfetch 2.70.0, released on October 14, 2026, removed the {size-available} Disk placeholder and changed what {size-free} means. Update display formats to use {size-free} with an explicit disk.useAvailable policy, and update JSON consumers to read bytes.free and bytes.total, calculating used space as total - free. Do not parse localized, human-readable output for arithmetic.

What changed in Fastfetch 2.70.0

The Disk module has two separate compatibility changes that can break existing dashboards, shell scripts and monitoring jobs:

As an Amazon Associate I earn from qualifying purchases.

Area Before 2.70.0 Fastfetch 2.70.0 Migration
Custom format {size-available} was available for available space. {size-available} was removed. Use {size-free} and set disk.useAvailable explicitly.
{size-free} Always represented filesystem free size. Follows the disk.useAvailable setting. Choose the desired policy instead of relying on a default.
Raw format values Scripts could use raw byte values. {bytes-free}, {bytes-used} and {bytes-total} remain the raw byte placeholders. Use raw bytes for calculations and thresholds.
JSON bytes.available and bytes.used could be present. Those two fields were removed; bytes.free and bytes.total remain. Calculate used bytes as bytes.total - bytes.free.

The important distinction is not merely a renamed field. Fastfetch now makes the meaning of “free” depend on a policy setting. A script that silently assumes one definition can produce different results after the upgrade, especially on Windows systems with quotas.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Decide what “free space” your script needs

Filesystem free space

Filesystem free space is capacity the filesystem reports as free on the volume. It is the appropriate value when you are describing the volume itself, comparing partitions, or checking whether the underlying filesystem is approaching capacity.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Space available to the current user

User-available space accounts for restrictions such as quotas. It can be lower than filesystem free space when the current account cannot consume all remaining blocks. This is usually the right value for a per-user upload limit, a home-directory warning, or a service that must predict whether its own account can write more data.

Choose one meaning before changing the code. Calling both values “free” in a report makes the output impossible to interpret. Name the result in your application, for example filesystem_free_bytes or user_available_bytes.

Step-by-step migration

  1. Find every affected reference. Search Fastfetch configuration, wrapper scripts, CI jobs, dashboards and documentation for {size-available}, bytes.available and bytes.used. Also search for generic labels such as “available” or “free” around the parser, because a field rename may leave an incorrect label behind.
  2. Record the intended semantics. Decide whether each consumer needs filesystem free space or space available to the current user. Record that decision next to the configuration so a future maintainer does not infer it from a variable called free.
  3. Make the Disk policy explicit. In the Disk module configuration, set disk.useAvailable to true for user-available space or false for filesystem free space. Use {size-free} after setting the policy; do not depend on an implicit host default.
  4. Move arithmetic to byte values. For calculations, use raw bytes rather than strings such as “12.4 GiB”. Human-readable values can be localized, rounded or formatted with different units.
  5. Update JSON field access. Read bytes.free and bytes.total. Derive used bytes with used = total - free. Treat a missing legacy field as a migration or version-detection case, not as zero.
  6. Inspect the actual JSON shape. Generate output with fastfetch --format json or fastfetch -j and inspect the Disk module selected by your configuration. Do not assume the exact surrounding object nesting in a parser written for another module layout.
  7. Test on every supported Fastfetch version and operating system. Verify both policy settings, at least one volume with a quota if you support quotas, and the behavior when a value is missing or a command fails.

Replacing the removed display placeholder

Use {size-free} with an explicit policy

A display-only format should use the surviving placeholder and configure its meaning. A module entry can be structured like this, with the surrounding configuration retained in the syntax used by your installation:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
{
  "type": "disk",
  "useAvailable": true,
  "format": "{size-free}"
}

Set the option to false when the display must show filesystem free space. The exact visual unit and label are separate concerns; make the label describe the selected policy, such as “available to user” or “filesystem free”.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Why a simple search-and-replace is unsafe

Replacing {size-available} with {size-free} without setting useAvailable can change the reported number on a host where the default policy differs from the one used before the upgrade. The format may render successfully while conveying the wrong value. Configuration management should therefore deploy the placeholder and the policy together.

Updating calculations and alerts

Use raw bytes, not formatted text

For custom formats, the raw placeholders are {bytes-free}, {bytes-used} and {bytes-total}. They are suitable for passing an integer to another program or for a machine-oriented output format. If you only need a display, a human-readable size is fine; if you compare against a threshold, retain the integer byte value until the final presentation step.

For example, an alert that fires below 10 GiB should compare bytes against a constant calculated from the chosen binary or decimal convention, then format the result for the operator. Do not convert a localized string back into a number.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Derive used space in JSON

The JSON replacement is deliberately straightforward:

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord | 6.35mm Jack, Durable Design, Stage and Home Studio Use, Low Noise Shielded Electric Cord for Bass, Keyboard, Amp, Mixer
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
free = disk.bytes.free
total = disk.bytes.total
used = total - free

Adapt the field path to the object produced by your selected module. Validate that total and free are numeric, non-negative and that free does not exceed total. If validation fails, report an unavailable measurement rather than emitting a negative or fabricated used value.

Handle missing legacy fields deliberately

A consumer that first tries bytes.used and silently substitutes zero will turn a schema change into a dangerous false reading. Remove that fallback, or make it an explicit compatibility branch that runs only when the detected Fastfetch version is known to predate 2.70.0. On 2.70.0 and later, calculate the value from the two retained fields.

Supporting more than one Fastfetch version

Mixed fleets need a version strategy rather than a single format copied everywhere. Fastfetch documents fastfetch --version-raw as returning only major.minor.patch, which is suitable for scripts.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Version-aware display configuration

If an older installation still requires {size-available}, select the legacy format for that version and select {size-free} plus an explicit useAvailable policy for 2.70.0 and newer. Keep the two branches close together and test them independently. Do not send the 2.70.0 placeholder to an older binary unless that version is documented to support it.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Prefer a stable JSON contract at the boundary

For collectors, normalize Fastfetch output inside one adapter. The adapter can detect the version, read the available fields, calculate used bytes and emit your own stable fields such as free_bytes, used_bytes, total_bytes and availability_policy. Downstream dashboards then remain independent of Fastfetch’s field names.

Pin or record the executable version

Record the output of fastfetch --version-raw with each collected sample or in the job metadata. This makes a sudden change in a time series explainable and lets you identify hosts that still use the legacy branch.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Windows quota behavior in 2.70.0

On Windows 10 build 17763 and later, Fastfetch 2.70.0 corrected quota-related totals. The default reporting now uses whole-volume capacity and free space. That is a filesystem-level result, not necessarily the amount the current user can write.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set disk.useAvailable: true when the requirement is space available to the current user, including quota-limited network shares. Set it to false when the report is intended to describe the whole volume. Test both settings on a share with an enforced quota; a local, unrestricted volume may make the two values appear identical and conceal a policy error.

Do not generalize the Windows correction to every platform. Linux and macOS deployments still need an explicit policy because the application’s question—not the operating system name—determines which number is useful.

Audit other 2.70.0 compatibility changes at the same time

Replace QuickJS format scripting

Fastfetch 2.70.0 removed QuickJS format scripting after it was deprecated in 2.69.0. If a disk report calls JavaScript-like format code, migrate that logic to Lua rather than treating the disk placeholder change as an isolated edit. Run the migrated code against the same JSON and display cases used for the Disk test.

Rename the Command option

The Command option useStdErr became useOutput. The new option accepts "stdout", "stderr" or "both"; "both" is the new default. Review wrappers that capture command output while you update disk parsing. A collector can appear to have a disk regression when it is actually reading a different stream after this option change.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Testing matrix for a safe rollout

Test Expected check
2.70.0 display, useAvailable: false {size-free} is labeled and interpreted as filesystem free space.
2.70.0 display, useAvailable: true The value represents space available to the current user.
2.70.0 JSON bytes.free and bytes.total are present; used is calculated as total minus free.
Legacy-version branch The old format is selected only for the versions that support it.
Windows 10 build 17763 or later, unrestricted volume Whole-volume and user-available results are compared, not assumed to be identical.
Quota-limited network share useAvailable: true reflects the account’s quota; false reflects the volume-level result.
Malformed or incomplete JSON The adapter reports an unavailable measurement and does not emit zero or negative used space.
QuickJS and Command configurations No removed QuickJS code remains, and useOutput has the intended stream setting.

Troubleshooting common failures

Symptom Likely cause Fix
Fastfetch prints an unknown or literal {size-available} field. The 2.70.0 placeholder was removed. Use {size-free} and configure useAvailable.
The display works but numbers changed after upgrading. {size-free} is following a different policy than the old script assumed. Set the policy explicitly and rename the label to match it.
A JSON parser returns null for bytes.available or bytes.used. The fields no longer exist in 2.70.0. Read bytes.free and bytes.total, then derive used.
Used space is negative. Fields were swapped, parsed as strings incorrectly, or came from an invalid response. Validate numeric types and enforce 0 ≤ free ≤ total before subtraction.
Windows shows more space than a user can write. The report is using whole-volume free space while a quota applies. Set disk.useAvailable: true for user-level availability.
A collector has intermittent empty output after the upgrade. The Command stream setting changed with the useStdErr to useOutput migration. Choose stdout, stderr or both explicitly and update the capture code.
A custom formatter stops executing. It still depends on removed QuickJS scripting. Port the formatter to Lua and test it independently.

Recommended design for long-lived scripts

  • Keep the Fastfetch version beside every sample or report.
  • Represent free-space policy as data, not as an implied default.
  • Use integers for storage calculations and format them only at the presentation layer.
  • Normalize Fastfetch JSON in one adapter instead of spreading field names through application code.
  • Fail closed when required fields are absent; never interpret a missing value as zero.
  • Include a quota case in automated tests when user-available space matters.
  • Review adjacent formatter and Command settings during every Fastfetch upgrade.

With those controls, the 2.70.0 change becomes a contained schema migration: the display format is explicit, JSON arithmetic remains stable, and reports clearly distinguish volume capacity from what an individual account can actually use.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

disk spaceFastfetchJSONLinuxmacOSShell ScriptingSystem MonitoringWindows

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.